Mybatis 的日志管理


 Mybatis通過日志工廠提供日志信息,Mybatis內置的日志模版是log4j,commons.log,jdk log也可以通過slf4j簡單日志模版結合log4j使用日志信息輸出.具體選擇哪個日志實現由MyBatis的內置日志工廠確定。它會使用最先找到的(按上文列舉的順序查找)。 如果一個都未找到,日志功能就會被禁用。不少應用服務器的classpath中已經包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis會把它作為具體的日志實現

記住這點非常重要。這意味着,在諸如 WebSphere的環境中——WebSphere提供了Commons Logging的私有實現,你的Log4J配置將被忽略。

不過,如果你的應用部署在一個包含Commons Logging的環境, 而你又想用其他的日志框架,你可以做如下配置.

1. 配置日志輸出方式是log4j

<configuration>
 <settings>
 ...
 <setting name="logImpl" value="LOG4J"/>
 ...
 </settings>
</configuration>

  2.你也可以調用如下方法

org.apache.ibatis.logging.LogFactory.useSlf4jLogging();
org.apache.ibatis.logging.LogFactory.useLog4JLogging();
org.apache.ibatis.logging.LogFactory.useLog4J2Logging();
org.apache.ibatis.logging.LogFactory.useJdkLogging();
org.apache.ibatis.logging.LogFactory.useCommonsLogging();
org.apache.ibatis.logging.LogFactory.useStdOutLogging();

  3.實現通過log4j對日志的記錄.我們需要導入基本的log4j.jar.

4.在log4j.properties中加入

# Global logging configuration  
log4j.rootLogger=ERROR, stdout  
# MyBatis logging configuration...  
log4j.logger.org.mybatis.example.BlogMapper=TRACE  //這里就表示將對應的mapper結果記錄
Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

也可以對一組mapper記錄

log4j.logger.org.mybatis.example=TRACE  

  也可以是具體方法

log4j.logger.org.mybatis.example.BlogMapper.selectBlog=TRACE

  某些查詢可能會返回大量的數據,只想記錄其執行的SQL語句該怎么辦?為此,Mybatis中SQL語 句的日志級別被設為DEBUG(JDK Logging中為FINE),結果日志的級別為TRACE(JDK Logging中為FINER)。所以,只要將日志級別調整為DEBUG即可達到目的:

log4j.logger.org.mybatis.example=DEBUG 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM