2

我在不同的包中有三个带有记录器的类:

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 级别。

4

0 回答 0