首先附上官網的說明文檔:
mybatis Logging
環境spring4.3.0+springmvc4.3.0+mybatis3.4.0
按官方文檔的說明
1 SLF4J
2 Apache Commons Logging
3 Log4j 2
4 Log4j
5 JDK logging
mybatis會使用最先找到的(按上文列舉的順序查找),不少應用服務器的classpath中已經包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis會把它作為具體的日志實現。所以我們首先得指定要使用哪個日志框架,因為是在ssm環境中配置,所以沒有mybatis-config.xml文件,就不能在里面配置下面幾行
<configuration>
<settings>
... <setting name="logImpl" value="LOG4J"/> ... </settings> </configuration>
那我們就得在web.xml文件中指定使用log4j作為我們的日志框架的實現。
web.xml中的配置如下
<!-- 加載log4j配置文件 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> <!-- <param-value>/WEB-INF/log4j.xml</param-value> --> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
接着在編寫log4j.propertes文件
log4j.properties
#定義LOG輸出級別 log4j.rootLogger=INFO,Console,File #定義日志輸出目的地為控制台 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out #可以靈活的指定日志輸出格式,下面一行是指定具體的格式 log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=[%c]-%m%n #mybatis顯示SQL語句日志配置 #log4j.logger.org.mybatis=DEBUG log4j.logger.net.cxp.blog.dao=DEBUG #文件大小到達指定尺寸的時候產生一個新的文件 log4j.appender.File=org.apache.log4j.RollingFileAppender #指定輸出目錄 log4j.appender.File.File=logs/ssm.log #定義文件最大大小 log4j.appender.File.MaxFileSize=10MB #輸出所有日志,如果換成DEBUG表示輸出DEBUG以上級別日志 log4j.appender.File.Threshold=ALL log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm|\:ss}][%c]%m%n
其中和打印sql語句有關的是下面幾句
#mybatis顯示SQL語句日志配置 #log4j.logger.org.mybatis=DEBUG log4j.logger.net.cxp.blog.dao=DEBUG
按照官方的配置,應該就寫
log4j.logger.net.cxp.blog.dao=DEBUG
注:net.cxp.blog.dao是你的dao接口所在的包名
