MyBatis 日志

CXC0 2020-04-10

1?日志
Mybatis 通过使用内置的日志工厂提供日志功能。

内置日志工厂将会把日志工作委托给下面的实现之一:

SLF4J
Apache Commons Logging
Log4j 2
Log4j
JDK logging
MyBatis 内置日志工厂会基于运行时检测信息选择日志委托实现。

它会(按上面罗列的顺序)使用第一个查找到的实现。

当没有找到这些实现时,将会禁用日志功能。

你可以通过在 MyBatis 配置文件 mybatis-config.xml 里面添加一项 setting 来选择其它日志实现。

<configuration>
<settings>
...
<setting name="logImpl" value="LOG4J"/>
...
</settings>
</configuration>
2?日志配置
步骤 1:添加 Log4J 的 jar 包

由于我们使用的是 Log4J,我们要确保它的 jar 包可以被应用使用。

为此,需要将 jar 包添加到应用的类路径中。

如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
步骤 2:配置 Log4J

配置 Log4J 比较简单。假设你需要记录这个映射器的日志:

package org.mybatis.example.mapper;

public interface BlogMapper {
Blog selectBlog(int id);
}
在应用的类路径中创建一个名为 log4j.properties 的文件,文件的具体内容如下:

全局日志配置

log4j.rootLogger=ERROR, stdout

MyBatis 日志配置

log4j.logger.org.mybatis.example=TRACE

控制台输出

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
在类中按如下方式使用,例如:

Logger logger = Logger.getLogger(Main.class);
logger.info("记录用于提供信息的事件");
logger.info("记录一般调试事件");
Log4j 日志级别

级别

描述

OFF

不记录任何事件

FATAL

记录阻止应用程序继续的严重错误

ERROR

记录应用程序中的错误

WARN

记录可能导致错误的事件

INFO

记录用于提供信息的事件

DEBUG

记录一般调试事件

TRACE

记录细粒度的调试消息

ALL

记录所有事件

相关推荐