Log4j 日志记录 & MyBatis整合 Log4j

1 日志记录框架

在开发过程中, 测试时需要指导方法调用是否成功, 在项目上线后, 需要知道程序的运情况, 都需要通过记录日志的形式去查看. 不仅要能够打印在控制台, 还需要记录到指定的日志文件中. 日志文件的后缀一般为.log

2 常见的日志记录框架

  • log4j: Aapache开源的日志记录框架, 可以使用.properties作为配置文件
  • log4j2: 对.properties文件支持不太好, 推荐使用.xml作为配置文件
  • slf4j: 是一种日志记录接口, 相当于规范, 使用时需要找指定的实现, 例如log4j
  • logback: 当前比较流行的日志记录框架.
  • commons-logging: Aapche提供的工具, 通常被别的框架依赖

3 Log4J的日志记录级别

以下日志级别由高到低, 可以通过调整日志级别控制哪些日志可以被打印.

  • FATAL: 致命的错误, 不是代码引起的, 而是系统故障;
  • ERROR: 错误, 代码运行发生的错误;
  • WARN: 警告, 不会影响程序运行, 但是可能存在风险;
  • INFO: 普通消息;
  • DEBUG: 调试信息;
  • TRACE: 跟踪信息, 打印出非常详细的运行过程.

4 Log4J的使用

  • 导包

添加依赖

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

  • 提供配置文件

要求名称必须叫log4j.properties, 位置必须放在src目录下.

# 设置log4j的根(整体)日志级别, 同时指定日志输出的位置: CONSOLE表示控制台, LOGFILE表示日志文件

  log4j.rootCategory=INFO, CONSOLE

  #log4j.rootCategory=INFO, CONSOLE, LOGFILE

# 设置局部位置的日志级别

  #log4j.logger.org.apache.axis.enterprise=FATAL

# 设置控制台日志输出的格式

  # 常用符号

  # %m: message, 日志消息

  # %n: 回车换行

  # %d: 日期时间, 可以自定义日期时间格式, %d{yyyy-MM-dd HH:mm:ss}

# %p: 日志级别

  # %l: 日志发生的具体位置

  # %c: 定位, 包名.类名

  log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

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

  log4j.appender.CONSOLE.layout.ConversionPattern=- [%5p] %m%n

  # 设置日志文件中日志输出的格式

  log4j.appender.LOGFILE=org.apache.log4j.FileAppender

  log4j.appender.LOGFILE.File=d:/test.log

  log4j.appender.LOGFILE.Append=true

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

  log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

  • 编写代码
package com.wuyw.test;

 
  import org.apache.log4j.Logger;

  
  public class TestLog {

    // 创建日志对象

    private static Logger logger = Logger.getLogger(TestLog.class);

   public static void main(String[] args) {

        logger.fatal("致命错误");

        logger.error("错误级别");

        logger.warn("警告级别");

        logger.info("消息级别");

        logger.debug("调试级别");

        logger.trace("跟踪级别");

    }

}

5 MyBatis对log4j的支持

MyBatis支持多种日志记录方式, 如下所示:

  • 可以在核心配置文件中通过<settings>标签开启log4j支持, 不配置也行可以自动查找.

<settings>

    <setting name="mapUnderscoreToCamelCase" value="true" />

    <setting name="logImpl" value="LOG4J" /> </settings>

  • 调整局部日志级别, 打印自己需要的日志
# 设置log4j的根(整体)日志级别

  log4j.rootCategory=ERROR, CONSOLE
# 设置局部位置的日志级别

  log4j.logger.a.b.c=TRACE
  • 结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值