Log4j 极速上手 Log4j 的使用 Log4j 日志技术

Log4j日志技术

1. 概念

程序中的日志技术可以记录程序运行时的详细过程,并可以进行永久存储

2. 日志和输出语句的区别

在这里插入图片描述

3. 日志技术的体系结构

在这里插入图片描述

4. Log4j配置文件详解

注:Log4j配置文件的名称必须是log4j.properties,一个简单的示例如下:

在这里插入图片描述

Log4j配置文件的三个核心

(1) Loggers记录器

i. 作用:用于表示日志的级别

ii. 格式:log4j.rootLogger=日志级别,appenderName1,appenderName2...

iii. 日志级别:

OFF、DEBUG < INFO < WARN < ERROR < FATAL、ALL、自定义的级别

注:Log4j有一个规则,只输出级别不低于指定级别的日志信息

iv. appenderName:在Appenders输出源中配置

(2) Appenders输出源

i. 作用:把日志输出到不同的地方,如控制台、文件中等

ii. 格式:

输出到控制台:

log4j.appender.自定义appenderName的名称=org.apache.log4j.ConsoleAppender

输出到文件中:

log4j.appender.自定义appenderName的名称=org.apache.log4j.FileAppender

iii. ConsoleAppender常用的选项:

  • ImmediateFlush=true

表示所有消息都会被立即输出,设为false则不输出,默认值是true

  • Target=System.out

使用out字体颜色为黑色,使用Target=System.err,字体颜色是红色

iv. FileAppender常用的选项:

  • ImmediateFlush=true

表示所有消息都会被立即输出,设为false则不输出,默认值是true

  • Append=false

true表示将消息添加到指定文件中,原来的消息不覆盖
false则将消息覆盖指定的文件内容,默认值是true

  • File=D:/logs/logging.log4j (路径地址是向左的斜杠)

将日志信息输出到指定的文件中,此文件可以不存在,会自动创建

(3) Layouts布局

i. 作用:调整日志输出的格式

ii. 格式:

可以灵活地指定布局模式:

log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.PatternLayout

包含日志信息的级别和信息字符串:

log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.SimpleLayout

包含日志产生的时间、线程、类别等信息:

log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.TTCCLayout

iii. PatternLayout常用的选项

格式:ConversionPattern=指定的格式化符号

在这里插入图片描述

5. Log4j使用步骤

(1) 导入jar包

在这里插入图片描述

(2) 编写log4j.properties配置文件,并将此文件放在src目录下

log4j.rootLogger=info,my,fileAppender

### direct log messages to my ###
log4j.appender.my=org.apache.log4j.ConsoleAppender
log4j.appender.my.ImmediateFlush = true
log4j.appender.my.Target=System.out
log4j.appender.my.layout=org.apache.log4j.PatternLayout
log4j.appender.my.layout.ConversionPattern=%d %t %5p %c{1}:%L - %m%n

# fileAppender演示
log4j.appender.fileAppender=org.apache.log4j.FileAppender
log4j.appender.fileAppender.ImmediateFlush = true
log4j.appender.fileAppender.Append=true
log4j.appender.fileAppender.File=E:/log4j-log.log
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n

(3) 在代码中获取日志对象,并输出

public class Log4JTest01 {
    
    

    //Logger类所属的包是slf4j
    //参数是当前类.class
    private static final Logger LOGGER = LoggerFactory.getLogger(Log4JTest01.class);

    public static void main(String[] args) {
    
    

        LOGGER.debug("debug级别的日志"); //没有达到配置文件中的info级别,不会输出
        LOGGER.info("info级别的日志");
        LOGGER.warn("warn级别的日志");
        LOGGER.error("error级别的日志");

    }
}

(4) 运行结果

在这里插入图片描述

(5) 打开配置文件中指定的输出文件

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49343190/article/details/112004734