1?日志
Mybatis 通過(guò)使用內(nèi)置的日志工廠提供日志功能。
內(nèi)置日志工廠將會(huì)把日志工作委托給下面的實(shí)現(xiàn)之一:
SLF4J
Apache Commons Logging
Log4j 2
Log4j
JDK logging
MyBatis 內(nèi)置日志工廠會(huì)基于運(yùn)行時(shí)檢測(cè)信息選擇日志委托實(shí)現(xiàn)。
它會(huì)(按上面羅列的順序)使用第一個(gè)查找到的實(shí)現(xiàn)。
當(dāng)沒(méi)有找到這些實(shí)現(xiàn)時(shí),將會(huì)禁用日志功能。
你可以通過(guò)在 MyBatis 配置文件 mybatis-config.xml 里面添加一項(xiàng) setting 來(lái)選擇其它日志實(shí)現(xiàn)。
<configuration>
? <settings>
? ? ...
? ? <setting name="logImpl" value="LOG4J"/>
? ? ...
? </settings>
</configuration>
2?日志配置
步驟 1:添加 Log4J 的 jar 包
由于我們使用的是 Log4J,我們要確保它的 jar 包可以被應(yīng)用使用。
為此,需要將 jar 包添加到應(yīng)用的類(lèi)路徑中。
如果使用 Maven 來(lái)構(gòu)建項(xiàng)目,則需將下面的依賴(lài)代碼置于 pom.xml 文件中:
<dependency>
? <groupId>log4j</groupId>
? <artifactId>log4j</artifactId>
? <version>1.2.17</version>
</dependency>
步驟 2:配置 Log4J
配置 Log4J 比較簡(jiǎn)單。假設(shè)你需要記錄這個(gè)映射器的日志:
package org.mybatis.example.mapper;
public interface BlogMapper {
? Blog selectBlog(int id);
}
在應(yīng)用的類(lèi)路徑中創(chuàng)建一個(gè)名為 log4j.properties 的文件,文件的具體內(nèi)容如下:
# 全局日志配置
log4j.rootLogger=ERROR, stdout
# MyBatis 日志配置
log4j.logger.org.mybatis.example=TRACE
# 控制臺(tái)輸出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
在類(lèi)中按如下方式使用,例如:
Logger logger = Logger.getLogger(Main.class);
logger.info("記錄用于提供信息的事件");
logger.info("記錄一般調(diào)試事件");
Log4j 日志級(jí)別
級(jí)別
描述
OFF
不記錄任何事件
FATAL
記錄阻止應(yīng)用程序繼續(xù)的嚴(yán)重錯(cuò)誤
ERROR
記錄應(yīng)用程序中的錯(cuò)誤
WARN
記錄可能導(dǎo)致錯(cuò)誤的事件
INFO
記錄用于提供信息的事件
DEBUG
記錄一般調(diào)試事件
TRACE
記錄細(xì)粒度的調(diào)試消息
ALL
記錄所有事件