關於MyBatis的日志,其實MyBatis已經弄得很好了,你甚至都不用配置,只要導入了jar包,MyBatis就會自動尋找.
具體步驟
1.導入jar包,就是把下載MyBatis時,lib里的包復制到項目的WEB-INF/lib下面,當然,這些jar包不是都需要的,你根據自己需求篩選.
2.配置文件
一般放到src下面,如圖
log4j.properties配置如下
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: - %m%n
另外,
Mybatis內置的日志工廠提供日志功能,具體的日志實現有以下幾種工具:
- SLF4J
- Apache Commons Logging
- Log4j 2
- Log4j
- JDK logging
具體選擇哪個日志實現工具由MyBatis的內置日志工廠確定。它會使用最先找到的(按上文列舉的順序查找)。 如果一個都未找到,日志功能就會被禁用。
也就是說,你不用指定用哪個日志工具,只要有相應的jar包,MyBatis就會自己去找到它.
不少應用服務器的classpath中已經包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis會把它作為具體的日志實現。記住這點非常重要。這將意味着,在諸如 WebSphere的環境中——WebSphere提供了Commons Logging的私有實現,你的Log4J配置將被忽略。 這種做法不免讓人悲催,MyBatis怎么能忽略你的配置呢?事實上,因Commons Logging已經存 在了,按照優先級順序,Log4J自然就被忽略了!不過,如果你的應用部署在一個包含Commons Logging的環境, 而你又想用其他的日志框架,你可以通過在MyBatis的配置文件mybatis-config.xml里面添加一項setting(配置)來選擇一個不同的日志實現。
<configuration> <settings> ... <setting name="logImpl" value="LOG4J"/> ... </settings> </configuration>
具體的詳細解釋,可以查看官網http://www.mybatis.org/mybatis-3/zh/logging.html