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

记录所有事件