log4j详细配置方式

1.log4j的简介

在我们的生产环境中 常常会产生日志文件 比如控制台的输出消息,我们可以用log4j来存储他它.
log4j是Apache公司的一个开源代码项目,通过log4j,我们可以控制日志信息输出的目的地是控制台,文件,邮箱等;我们可以控制每一条日志的输出格式
通过定义每一条日志信息的级别,我们可以更加细致地控制日志的生成过程。

log4j共有以下几个级别:OFF/FATAL/ERROR/WARN/INFO/DEBUG/ALL

推荐使用的为4个等级: 从高到低 ERROR,WARN,INFO,DEBUG

下面为大家介绍log4j的配置:

2.log4j的配置

1.配置文件:在你的pom.xml文件中引入以下log4j架包

<dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
</dependency>

2.在你的resources文件夹中新建一个properties文件:如下图
在这里插入图片描述log4j.properties文件

3.在log4j.properties文件中配置以下信息:

#  全局配置 日志级别: ERROR INFO CONSOLE DEBUG 
log4j.rootLogger = debug,console,file

#控制台日志输出
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%p] %l %m %n

#输出到文件
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=./log/access.log 
log4j.appender.file.DatePattern='_'yyyyMMdd'.log'
log4j.appender.file.encoding=UTF-8
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %l %m %n
#追加模式记录日志 如果设置为false 那么会覆写日志文件
log4j.appender.file.Append=true

如果你需要修改打印的格式 可以在代码中自行修改 比如时间,我可以改成{yyyy:MM:dd HH:mm:ss}日志文件我们是可以随心修改的,如果有需要的话。

4.log4j的使用:
配置完以上的步骤之后 接下来是log4j的使用:

1.写一个测试类 注:请引入你的junit架包
在这里插入图片描述
2.一下是log4jTest中的代码:

package com.log4j;

import org.apache.log4j.Logger;
import org.junit.Test;

public class log4jTest {
    public static Logger log =Logger.getLogger(log4jTest.class);  //引入Logger

//以下信息会根据你的全局配置中配置的日志级别进行输出,如果是Debug级别,那么以下4条信息都会打印且记录到日志文件中。
    @Test
    public void test(){
        log.error("我是错误信息 error");
        log.warn("我是警告信息warn");
        log.info("我是普通信息info");
        log.debug("我是调试信息debug");
    }

}

以下是程序运行测试结果:
在这里插入图片描述

运行结束之后 在你的项目中会出现一个log文件夹,如下:
在这里插入图片描述
在log文件夹中生成的access.log文件 就是我们生成的日志文件:
在这里插入图片描述此文件记录了你的控制台打印的信息。