Try to use an evaluator JaninoEventEvaluator in logback. But does not work to filter out depending on condition -
try use evaluator janinoeventevaluator in logback. not work filter out depending on condition.
my configuration of logback.xml given below.
<appender name="durgadlyfilesql" class="ch.qos.logback.core.fileappender"> <file>${durga.log.file.name.sql}</file> <encoder> <pattern>${screenconversionpattern}</pattern> </encoder> <filter class="ch.qos.logback.core.filter.evaluatorfilter"> <evaluator name="loggingtaskeval" class="ch.qos.logback.classic.boolex.janinoeventevaluator"> <expression> system.out.println("mdc: " + mdc + " " + mdc.get("screenname")); string screen = (string) mdc.get("screenname"); if ((screen == null) || screen.equals("server type entry/amend/cancel")) { return false; } </expression> </evaluator> <onmatch>accept</onmatch> <onmismatch>deny</onmismatch> </filter> <rollingpolicy class="ch.qos.logback.core.rolling.timebasedrollingpolicy"> <filenamepattern>${durga.log.file.name.sql}.%d{${finch.log.file.defaultrolloverfrequency}}</filenamepattern> </rollingpolicy> </appender>
and output of log:
[17 mar 2016 13:42:18.437][server type entry/amend/cancel][durga_admin] trace o.h.type.descriptor.sql.basicbinder 83 binding parameter [3] [varchar] - durga_admin [17 mar 2016 13:42:18.438][server type entry/amend/cancel][durga_admin] trace o.h.type.descriptor.sql.basicbinder 83 binding parameter [4] [timestamp] - 2016-03-17 08:16:23.0 [17 mar 2016 13:42:18.439][server type entry/amend/cancel][durga_admin] trace o.h.type.descriptor.sql.basicbinder 83 binding parameter [5] [timestamp] - 2016-03-17 08:16:23.0 [17 mar 2016 13:42:18.440][server type entry/amend/cancel][durga_admin] trace o.h.type.descriptor.sql.basicbinder 83 binding parameter [6] [varchar] - durga_admin [17 mar 2016 13:42:18.441][server type entry/amend/cancel][durga_admin] trace o.h.type.descriptor.sql.basicbinder 83 binding parameter [7] [integer] - 0
i not want log when screenname = "server type entry/amend/cancel"
i'm using janino 2.5.10 , logback 1.1.7 , stuff running on tomcat 7.0.47
janinoeventevaluator needs expression returns value conditional branch. otherwise complain saying:org.codehaus.commons.compiler.compileexception: method must return value
you can change expression return true @ end if condition not match.
check example here: https://logback.qos.ch/manual/filters.html#janinoeventevaluator
Comments
Post a Comment