Logback - Custom log file empty, how to configure logger?

228 Views Asked by At

I have three classes with loggers in different packages:

com.asd.def.Class1;
com.some.package.Class2;
com.foo.bar.Class3;

In each class I create a new logger the same way, note that each logger ends with the same "some_logger" name:

private static final Logger debugLogger = 
        LoggerFactory.getLogger(this.getClass().getCanonicalName() + ".some_logger");

I have an appender in my logback.xml called 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>

How should I configure my xml to log every line that has DEBUG level since I cannot use a regex in <logger name="*some_logger" ..> tag and my root logger is only on INFO level.

0

There are 0 best solutions below