Logback配合Mybatis顯示sql語句

首先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的日誌,並且存入到日誌文件中。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章