解决logback不打印mybatis的SQL日志的问题

工作这么多年,今天还是因为Logback的这个问题稍微卡了一下,惭愧。

问题描述:

logback配置了如下信息:

<appender name="sql"  class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <FileNamePattern>${logbase}sql.%d{yyyy-MM-dd}.log</FileNamePattern>
      <MaxHistory>30</MaxHistory>
    </rollingPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <pattern>[%d{yyyy-MM-dd HH:mm:ss} [%t] [%X{traceId}]  %5p %c:%L] %m%n</pattern>
    </encoder>
</appender>
<logger name="com.xcorp.dao" level="DEBUG" additivity="false">
<appender-ref ref="sql" />
</logger>
<logger name="org.mybatis" level="DEBUG" additivity="false" >
<appender-ref ref="sql" />
</logger>

<root level="DEBUG">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>

但是日志不在 sql.log中,而在 file中。

后面看file的日志发现,Mybatis Mapper的日志都是以dao开头

那么好,修改 logger name ="dao",问题解决。

<logger name="dao" level="DEBUG" additivity="false">
<appender-ref ref="sql" />
</logger>
<logger name="org.mybatis" level="DEBUG" additivity="false" >
<appender-ref ref="sql" />
</logger>

<root level="DEBUG">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>

猜你喜欢

转载自www.cnblogs.com/slankka/p/9997812.html
今日推荐