文章目录
- 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
类中定义了OFF
、FATAL
、ERROR
、WARN
、INFO
、DEBUG
、TRACE
、ALL
八种日志级别。 - 一般只使用4个级别,优先级从高到低为
ERROR > WARN > INFO > DEBUG
。
4. 配置文件 log4j.properties
- 只需要在项目路径下新建
log4j.properties
配置文件,并配置日志的输出格式等信息,Log4J
框架会自动的加载配置文件,并将配置信息设置到Logger
中。 - 从下往上看,输出的级别为DEBUG,输出名为Console(可以自定义),但要和上面的输出名对应
5. 程序中使用Log4j
- 项目中引入log4j的jar包
- 添加配置文件
log4j.properties
# 控制台输出配置
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
- 代码中使用
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
的输出,意味着此时的最低级别就是info
,info
以上的都可以输出 ,以下的都不能输出,所以没有debug
日志的输出。