Actually, the filters support is built into log4j, but if there's really a problem we can always fix it in pax-logging until the patch is released in log4j.
On Mon, Jan 30, 2012 at 10:21, Guillaume Nodet <gno...@gmail.com> wrote: > The filter support has been added in pax-logging. > Have a look at > > https://github.com/ops4j/org.ops4j.pax.logging/blob/master/pax-logging-service/src/main/java/org/apache/log4j/PaxLoggingConfigurator.java > > You may very well be right that the order isn't kept, which would > definitely be a bug. > > On Mon, Jan 30, 2012 at 10:17, Bengt Rodehav <be...@rodehav.com> wrote: >> I have the following configuration in my org.ops4j.pax.logging.cfg: >> >> # Per bundle log at INFO level >> log4j.appender.bundle=org.apache.log4j.sift.MDCSiftingAppender >> log4j.appender.bundle.key=bundle.name >> log4j.appender.bundle.default=karaf >> log4j.appender.bundle.appender=org.apache.log4j.RollingFileAppender >> log4j.appender.bundle.appender.MaxFileSize=10MB >> log4j.appender.bundle.appender.MaxBackupIndex=2 >> log4j.appender.bundle.appender.layout=org.apache.log4j.PatternLayout >> log4j.appender.bundle.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p >> | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n >> log4j.appender.bundle.appender.file=${logdir}/bundles/$\\{bundle.name\\}.log >> log4j.appender.bundle.appender.append=true >> log4j.appender.bundle.threshold=INFO >> >> # TRACE level for specific bundle - should normally be disabled >> log4j.appender.bundle_trace=org.apache.log4j.sift.MDCSiftingAppender >> log4j.appender.bundle_trace.key=bundle.name >> log4j.appender.bundle_trace.default=karaf >> log4j.appender.bundle_trace.appender=org.apache.log4j.RollingFileAppender >> log4j.appender.bundle_trace.appender.MaxFileSize=20MB >> log4j.appender.bundle_trace.appender.MaxBackupIndex=1 >> log4j.appender.bundle_trace.appender.layout=org.apache.log4j.PatternLayout >> log4j.appender.bundle_trace.appender.layout.ConversionPattern=%d{ISO8601} | >> %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n >> log4j.appender.bundle_trace.appender.file=${logdir}/bundles/trace/$\\{bundle.name\\}.log >> log4j.appender.bundle_trace.appender.append=true >> log4j.appender.bundle_trace.threshold=TRACE >> log4j.appender.bundle_trace.filter.accept=org.apache.log4j.varia.StringMatchFilter >> log4j.appender.bundle_trace.filter.accept.StringToMatch=bunde.name:org.apache.camel.camel-core >> log4j.appender.bundle_trace.filter.accept.AcceptOnMatch=false >> log4j.appender.bundle_trace.filter.deny=org.apache.log4j.varia.DenyAllFilter >> >> The intention is to have bundle specific logs at INFO level but have a >> separate TRACE log for a specific bundle. The latter is not enabled by >> default but only when debugging. >> >> The problem is that the DenyAllFilter seems to take precedence over the >> StringMatchFilter. I believe that when listed in the order I do, the bundle >> with the name "org.apache.camel.camel-core" should be logged at TRACE level >> but no other bundles. Could it be that the ordering of filters are not >> preserved? I think that native log4j only supports filters when using XML >> configuration and I assume that the Karaf filtering support has been added >> on top of log4j (or is it in Pax-logging)? Has the ordering of filters been >> taken into account? >> >> I've been testing this on Karaf 2.2.0 with Pax logging 1.6.0. >> >> /Bengt > > > > -- > ------------------------ > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > FuseSource, Integration everywhere > http://fusesource.com -- ------------------------ Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ FuseSource, Integration everywhere http://fusesource.com