由于定时器频繁产生日志, 干扰其他业务的日志, 我想把定时器产生的相关日志都记录到一个单独的日志中.
查看了网上的一些方式, 都是提到某个包或某个类单独采用一种 appender , 比如
<configuration scan="true">
<springProperty scope="context" name="logName" source="spring.application.name" defaultValue="localhost.log"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/${logName}.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/${logName}-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
</filter>
</appender>
<logger name="com.test.ScheduleTask" level="${logging.level}" additivity="false">
<appender-ref ref="FILE" />
</logger>
.... 省略其他配置
</configuration>
上面这样虽然 ScheduleTask 类中的日志单独输出了, 但是 ScheduleTask 类中如果调用了其他类的方法, 那么其他类中的日志还是会打印到原日志文件中.
请问有没有办法把 ScheduleTask 类以及该类调用的相关类的日志都统一输出到一个单独的日志文件中