Log4j 基本使用

2021-06-11 19:12:34 浏览数 (1)

文章目录

  • 1. 概述
  • 2. 三大组件
  • 3. 日志的级别
  • 4. 配置文件 log4j.properties
  • 5. 程序中使用Log4j

1. 概述

  • 介绍 Log4J 是 Apache 的一个开源项目。通过在项目中使用 Log4J,我们可以控制日志信息输出到控制台、文件、GUI 组件、甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程。方便项目的调试。
  • 官网 https://logging.apache.org/log4j/2.x/

2. 三大组件

  • Log4J主要由Logger(日志记录器)、Appender(输出端)和 Layout(日志格式化器)组成。
  • Logger控制日志的输出级别与日志是否输出;
  • Appender指定日志的输出方式(ConsoleAppender控制台、FileAppender文件、JDBCAppender等);
  • Layout控制日志信息的输出格式(simple格式、HTML格式、PatternLayout自定义格式)。

3. 日志的级别

  • Log4J 在 org.apache.log4j.Level 类中定义了OFFFATALERRORWARNINFODEBUGTRACEALL八种日志级别。
  • 一般只使用4个级别,优先级从高到低为 ERROR > WARN > INFO > DEBUG

4. 配置文件 log4j.properties

  • 只需要在项目路径下新建log4j.properties配置文件,并配置日志的输出格式等信息,Log4J框架会自动的加载配置文件,并将配置信息设置到Logger中。
  • 从下往上看,输出的级别为DEBUG,输出名为Console(可以自定义),但要和上面的输出名对应

5. 程序中使用Log4j

  • 项目中引入log4j的jar包
  • 添加配置文件log4j.properties
代码语言:javascript复制
# 控制台输出配置
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %p [%c] - %m%n
# 指定日志的输出级别与输出端
log4j.rootLogger=DEBUG,Console
  • 代码中使用
代码语言:javascript复制
package com.xdr630.hdfs;

import org.apache.log4j.Logger;

/**
 * @author xdr630
 * @version 1.0
 * @date 2021/4/10 16:15
 */
public class log4jTest {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(log4jTest.class);
        logger.info("这是info");
        logger.warn("这是warn");
        logger.error("这是error");
        logger.fatal("这是fatal");
    }
}
  • 也可以把日志输出到文件中
  • 把上面的 log4j.properties 的级别改为 info,输出如下,发现没有 debug 的输出,意味着此时的最低级别就是 infoinfo 以上的都可以输出 ,以下的都不能输出,所以没有 debug 日志的输出。

0 人点赞