博客
关于我
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/

你可能感兴趣的文章
php正则表达式模式
查看>>
php正则表达式的特殊字符含义
查看>>
PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer
查看>>
RabbitMQ + JMeter组合,优化你的中间件处理方式!
查看>>
PHP水仙花问题解法之一
查看>>
php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
查看>>
php注册页面实现注册后跳转页面
查看>>
PHP消息队列的实现方式与详解,值得一看
查看>>
PHP混合Go协程并发
查看>>
php源码中如何添加滚动公告,给WordPress网站添加滚动公告的方法
查看>>
PHP源码安装后如何新增模块
查看>>
php源码详细安装步骤,linux下php源码安装步骤
查看>>
php漏洞tips
查看>>
php版Zencoding之 phpstorm
查看>>
PHP版本升级5.4手记
查看>>
php版本升级总结
查看>>
php版本微信公众号开发
查看>>
php版的微信公众号开发演示
查看>>
php生成html文件的多种方法介绍
查看>>
php生成二维码到图片上
查看>>