Hello Guillaume, Doesn't the filter support in log4j require XML configuration (not properties file)? If so, then I assume that Pax-logging has added the possibility to use filters using a properties file configuration.
/Bengt 2012/1/30 Guillaume Nodet <[email protected]> > 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 <[email protected]> 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 <[email protected]> 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 >
