博客
关于我
MyBatis 日志
阅读量:703 次
发布时间:2019-03-21

本文共 2308 字,大约阅读时间需要 7 分钟。

MyBatis 日志工厂

日志的重要性

在编程过程中,数据库操作如果出现异常,我们需要及时排查问题。日志是排查问题的利器,但不再直接使用System.out.printlndebug工具,而是可以通过日志实现降级处理。

MyBatis 提供了 setting 标签下的 logImpl 属性,用于指定日志工厂。不同的日志工厂实现可以满足不同的日志需求。以下是常用的日志工厂实现及其特点:

常用日志工厂实现

1. SLF4J

SLF4J(Simple Logging Facade for Java)是一种面向现代表象层的日志框架,适合灵活的日志配置需求。这种日志工厂在 MyBatis 3 中依然有广泛的应用。

2. LOG4J

Log4j 是 Apache 开源项目,由Fearless Computing有限公司维护。Log4j 提供了高度可定制化的日志配置能力,支持多种日志目标(如控制台、文件、GUI等),并且可以根据需求设置日志级别。

3. LOG4J2

LOG4J2 是 Log4j 2.x 的全称,是对原有的 Log4j 进行了全面的改造,支持更复杂的日志配置需求,性能和稳定性也有显著提升。

4. JDK_LOGGING

JDK_LOGGING 是 MyBatis 默认的日志实现,基于 JDK 的 java.util.logging 包。

5. COMMONS_LOGGING

Commons Logging 是 Apache Commons 项目下的日志框架,适合需要通用日志处理的场景。

6. STDOUT_LOGGING

STDOUT_LOGGING 是一个简单的日志工厂实现,日志信息会被直接输出到标准输出中,不需要额外的依赖包。

7. NO_LOGGING

NO_LOGGING 表示完全不启用任何日志输出,这在某些性能敏感场景下可能有用处,但通常不推荐于开发和调试阶段。

如何配置日志工厂

在 MyBatis 的核心配置文件中添加 settings 标签,具体配置如下:

待完成项

1. 使用 LOG4J 导入依赖

在项目的 pom.xml 文件中添加 LOG4J 的依赖项:

log4j
log4j
1.2.17

2. 配置 Log4j 方面

在项目根目录下创建 log4j.properties 文件,设置日志文件路径、输出格式等:

#rootLogger 输出到控制台和文件log4j.rootLogger=DEBUG, console, file#控制台设置log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target:System.outlog4j.appender.console.Threshold=DEBUGlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%c-%m%n#文件设置log4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=./log/hj.loglog4j.appender.file.MaxFileSize=10mblog4j.appender.file.Threshold=DEBUGlog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%p[%d{yy-MM-dd}][%c]%m%n#设置日志级别log4j.logger.org.mybatis=DEBUGlog4j.logger.java.sql=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG

3. 在代码中使用日志

在需要使用日志的类中导入 LOG4J 的包,并初始化日志对象:

import org.apache.log4j.Logger;// 初始化日志对象public class UserMapperTest {    private static final Logger logger = Logger.getLogger(UserMapperTest.class);        // 测试 LOG4J 日志功能   @Test    public void testLog4j() {        logger.info("信息级别:进入了 testLog4j");        logger.debug("调试级别:进入了 testLog4j调试");        logger.error("错误级别:进入了 testLog4j");    }}

项目代码

点击查看完整代码

总结

通过以上方法,我们可以在 MyBatis 中灵活配置不同的日志工厂,根据具体需求选择合适的日志实现工具。

转载地址:http://ycxez.baihongyu.com/

你可能感兴趣的文章
MS UC 2013-0-Prepare Tool
查看>>
MSBuild 教程(2)
查看>>
msbuild发布web应用程序
查看>>
MSB与LSB
查看>>
MSCRM调用外部JS文件
查看>>
MSCRM调用外部JS文件
查看>>
MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
查看>>
MsEdgeTTS开源项目使用教程
查看>>
msf
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL数据库迁移到Oracle(二)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>
MyEclipse更改项目名web发布名字不改问题
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
mt-datetime-picker type="date" 时间格式 bug
查看>>
myeclipse的新建severlet不见解决方法
查看>>