1. 程式人生 > >Ibatis,Mybatis利用log4j將SQL語句列印在控制檯

Ibatis,Mybatis利用log4j將SQL語句列印在控制檯

在做一個專案Demo的時候,使用MyBatis+Spring,發現寫好的SQL查詢出來不對勁,但是也沒報錯,

所以想到用日誌把SQL語句打出來.也參考了部分網友的程式碼,最後總結了一下,發現正常執行。

本人專案為Mybatis+SpringMVC,所有都已配置好,且正常執行。

此過程無需配置,直接在classPath目錄建立log4j.properties,檔案,並將下列程式碼貼上進去即可,此程式碼部分參考網友。

 ### set log levels ###
log4j.rootLogger = debug ,  stdout


log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d %p [%c] - %m%n

### 輸出到日誌檔案 ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File
 = 
logs/log.log
log4j.appender.D.Append
 = 
true
log4j.appender.D.Threshold
 = 
DEBUG ## 輸出DEBUG級別以上的日誌
log4j.appender.D.layout
 = 
org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern
 = %-d{yyyy-MM-dd HH:mm:ss} 
 [ %t:%r ] - [ %p ] 
 %m%n

### 儲存異常資訊到單獨檔案 ###
log4j.appender.D
 = 
org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File
 = 
logs/error.log ## 異常日誌檔名
log4j.appender.D.Append
 = 
true
log4j.appender.D.Threshold
 = 
ERROR ## 只輸出ERROR級別以上的日誌!!!
log4j.appender.D.layout
 = 
org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern
 = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n



log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout

Log4J中輸出形式選擇:

org.apache.log4j.ConsoleAppender(控制檯)
org.apache.log4j.FileAppender(檔案)
org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌檔案)
org.apache.log4j.RollingFileAppender(檔案大小到達指定尺寸的時候產生一個新的檔案)
org.apache.log4j.WriterAppender(將日誌資訊以流格式傳送到任意指定的地方)

需要有Log4j.jar包,如果沒有可以在我的資源中下載.