今天,新建新项目配置日志时,刚开始发现配置的日志项没打印到console,去D盘看日志默认打印的文件看,是有正常打印日志的,不过格式跟配置不一样。由此猜测,配置的日志文件未被读取到。
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %C [%t] %-5level [%X{traceId}] - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %C [%t] %-5level [%X{traceId}] - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="rollingFile"/>
</root>
</configuration>
一,查看配置文件名和配置信息正确后,又试了logback.groovy, logback.xml,logback-test.xml命名均效果一样
springboot项目,日志默认按顺序读取logback.groovy,logback-test.xml logback.xml
注意:配置文件需放置于resources下
二,logback日志初始化类位于ch.qos.logback.classic.util.ContextInitializer#findURLOfDefaultConfigurationFile
调试启动时加载的日志文件,发现加载的是jar包里的一个 logback.groovy,这个jar包是我引入看源码的,无用,删除后重新启动,正常打印日志(也可进行executions排除)