Mybatis 3 配置 Log4j

时间:2022-10-21 20:11:33

Mybatis与Log4j

最常用的日志输出是Log4j,将相应的jar包和配置文件放到相应的位置,Mybatis就可以通过Log4j将SQL语句打印出来。

配置Log4j.properties

将log4j.properties放置根目录:

log4j.rootLogger=DEBUG,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.org.apache=INFO

配置解释

log4j.rootLogger=DEBUG,Console

代表root节点整个工程下所有输出日志的地方配置的输出的级别和输出的位置。


log4j.logger.org.apache.ibatis=ERROR

代表特定包下的特定级别。log4j把日志分为ALL、TRACE&(跟踪)、DEBUG(调试)、INFO(信息)、WARNING(警告)、ERROR(错误)、FITAL(致命)、OFF等几个级别,级别依次升高。级别高的Level会屏蔽级别低的信息。


log4j.appender.Console=org.apache.log4j.ConsoleAppender

代表配置控制台的类。


log4j.appender.Console.layout=org.apache.log4j.PatternLayout

代表配置布局。


log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

代表自定义输出内容的格式。其中ConversionPattern设置输出格式的参数解释如下:

%d 产生日志的时间

%t 产生日志所处的线程名称

%-5p 输出日志的级别,将占5位字符,不足5位用空格填补,-指的是在右边补齐,没有则在左边

%c 输出日志的包以及类的全名

%m 附加的信息

%n 换行

log4j.logger.org.apache=INFO

代表为特定的包(org.apache)配置特定的级别INFO,这样就把上面总的级别DEBU掩盖了,这样一来,这个包下的DEBUG信息就不会输出,就不会影响我们想要看的信息。

举个例子

这是一个简单的内容列表页面完全输出时的日志

2017-02-06 17:55:04,186 [http-nio-8080-exec-2] DEBUG [com.zzh.dao.IMessage.queryMessageList] - ==> Preparing: SELECT id, command, description, content FROM message

2017-02-06 17:55:04,226 [http-nio-8080-exec-2] DEBUG [com.zzh.dao.IMessage.queryMessageList] - > Parameters:

2017-02-06 17:55:04,328 [http-nio-8080-exec-2] DEBUG [com.zzh.dao.IMessage.queryMessageList] - < Total: 6