1. 程式人生 > >解決logback不列印mybatis的SQL日誌的問題

解決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>