我在不同的包中有三个带有记录器的类:
com.asd.def.Class1;
com.some.package.Class2;
com.foo.bar.Class3;
在每个类中,我以相同的方式创建一个新的记录器,注意每个记录器都以相同的“some_logger”名称结尾:
private static final Logger debugLogger =
LoggerFactory.getLogger(this.getClass().getCanonicalName() + ".some_logger");
我的 logback.xml 中有一个名为 debuglogger 的附加程序
<appender name="debuglogger" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${logdir}/debug.log</File>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
<expression>logger.contains("some_logger")</expression>
</evaluator>
<OnMatch>ACCEPT</OnMatch>
<OnMismatch>DENY</OnMismatch>
</filter>
<encoder>
<pattern>%d %5p [%t] \(%F:%L\) - %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<maxIndex>5</maxIndex>
<FileNamePattern>${logdir}/debug.log.%i</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>1024KB</MaxFileSize>
</triggeringPolicy>
</appender>
我应该如何配置我的 xml 以记录具有 DEBUG 级别的每一行,因为我不能在<logger name="*some_logger" ..>
标签中使用正则表达式并且我的根记录器仅在 INFO 级别。