快速使用之Log4j2日志框架

目录

1、Log4j2介绍

2、引入Log4j2依赖

3、加入日志配置文件

4、日志使用


1、Log4j2介绍

Apache Log4j2是一个开源的日志记录组件,主要组件构成:

(1)日志信息的优先级

日志信息的优先级从高到低有TRACE < DEBUG < INFO < WARN < ERROR < FATAL,级别高的会自动屏蔽级别低的日志,例如,设置了WARN的日志,则INFO、DEBUG的日志级别的日志不会显示

TRACE:追踪,是最低的日志级别,相当于追踪程序的执行

DEBUG:调试,一般在开发中,都将其设置为最低的日志级别

INFO:信息,输出重要的信息,使用较多

WARN:警告,输出警告的信息

ERROR:错误,输出错误信息

FATAL:严重错误

(2)日志信息的输出目的地

日志信息的输出目的地指定了日志将打印到控制台还是文件中;

(3)日志信息的输出格式

输出格式则控制了日志信息的显示内容。

2、引入Log4j2依赖

<!--log4j2的依赖-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.19.0</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j2-impl</artifactId>
    <version>2.19.0</version>
</dependency>

3、加入日志配置文件

在“resources”目录下新增日志配置文件,命名固定为“log4j2.xml”

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <loggers>
        <!--
            level指定日志级别,从低到高的优先级:
                TRACE < DEBUG < INFO < WARN < ERROR < FATAL
                trace:追踪,是最低的日志级别,相当于追踪程序的执行
                debug:调试,一般在开发中,都将其设置为最低的日志级别
                info:信息,输出重要的信息,使用较多
                warn:警告,输出警告的信息
                error:错误,输出错误信息
                fatal:严重错误
        -->
        <root level="DEBUG">
            <appender-ref ref="spring6log"/>
            <appender-ref ref="RollingFile"/>
            <appender-ref ref="log"/>
        </root>
    </loggers>
​
    <appenders>
        <!--输出日志信息到控制台-->
        <console name="spring6log" target="SYSTEM_OUT">
            <!--控制日志输出的格式-->
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss SSS} [%t] %-3level %logger{1024} - %msg%n"/>
        </console>
​
        <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用-->
        <File name="log" fileName="d:/spring6_log/test.log" append="false">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
        </File>
​
        <!-- 这个会打印出所有的信息,
            每次大小超过size,
            则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,
            作为存档-->
        <RollingFile name="RollingFile" fileName="d:/spring6_log/app.log"
                     filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
            <SizeBasedTriggeringPolicy size="50MB"/>
            <!-- DefaultRolloverStrategy属性如不设置,
            则默认为最多同一文件夹下7个文件,这里设置了20 -->
            <DefaultRolloverStrategy max="20"/>
        </RollingFile>
    </appenders>
</configuration>

4、日志使用

package com.test;

import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorldTest {
​
    private Logger logger = LoggerFactory.getLogger(HelloWorldTest.class);
​
    @Test
    public void testHelloWorld(){

        logger.info("Hello!Log4j2");
    }
}

相关推荐

  1. 快速使用Log4j2日志框架

    2024-04-27 06:28:05       12 阅读
  2. log4j日志框架使用

    2024-04-27 06:28:05       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-27 06:28:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-27 06:28:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-27 06:28:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-27 06:28:05       18 阅读

热门阅读

  1. Nginx(三): 项目实战之conf

    2024-04-27 06:28:05       12 阅读
  2. DNA序列k-mers哈希映射和相似序列查找

    2024-04-27 06:28:05       13 阅读
  3. webpack和vite

    2024-04-27 06:28:05       12 阅读
  4. vue使用外部的模板

    2024-04-27 06:28:05       14 阅读
  5. 债市的牛熊

    2024-04-27 06:28:05       12 阅读
  6. python数据分析与可视化

    2024-04-27 06:28:05       16 阅读
  7. Python笔记|不可变序列之元组

    2024-04-27 06:28:05       12 阅读