首先Mybatis是默認不支持Logback的,所以不管在Logback的配置文件中如何配置,consloe框中都無法顯示sql語句。
解決辦法:
首先在Mybatis配置文件的settings標籤下添加一行配置。
<settings>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
然後再在Logback的配置文件中添加
<logger name="com.lw.dao" level="DEBUG"></logger>
此時便可將mapper接口的操作打印,此時只是將對數據庫的操作打印到consloe框只能怪,如果將其保存到文件中,需要在Logback的配置文件中添加一個appender
<appender name="all-date-size" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<maxHistory>${log.maxHistory}</maxHistory>
<fileNamePattern>${LOG_HOME}/${log.projectName}.all.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${log.maxFileSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder charset="${log.charset}">
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
此配置爲按天來生成日誌文件,並且當文件大小超過log.maxFileSize時,就會生成新的文件,並且文件最後的編號遞增。log.maxHistory定義了日誌文件最長保存的天數。
其中<fileNamePattern>定義了日誌保存的文件。注意在定義地址時分割符爲'/'而不是Windows下的'\',即應定義爲
LOG_HOME=C:\logs
而不是Windows下地址的寫法LOG_HOME=C:/logs
寫錯會導致無法正確生成日誌文件。<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="all-date-size" />
</root>
此配置爲控制檯輸出root級別大於DEBUG的日誌,並且存入到日誌文件中。