• spring6使用启用Log4j2日志框架


    Log4j2日志概述

    项目开发中,日志十分的重要,不管是记录运行情况还是定位线上问题,都离不开对日志的分析。日志记录了系统行为的时间、地点、状态等相关信息,能够帮助我们了解并监控系统状态,在发生错误或者接近某种危险状态时能够及时提醒我们处理,同时在系统产生问题时,能够帮助我们快速的定位、诊断并解决问题。
    Apache Log4j2是一个开源的日志记录组件,使用非常的广泛。在工程中以易用方便代替了 System.out 等打印语句,它是JAVA下最流行的日志输入工具。

    Log4j2主要由几个重要的组件构成:

    (1)日志信息的优先级,日志信息的优先级从高到低有TRACE < DEBUG < INFO < WARN < ERROR < FATAL
    TRACE:追踪,是最低的日志级别,相当于追踪程序的执行
    DEBUG:调试,一般在开发中,都将其设置为最低的日志级别
    INFO:信息,输出重要的信息,使用较多
    WARN:警告,输出警告的信息
    ERROR:错误,输出错误信息
    FATAL:严重错误

    这些级别分别用来指定这条日志信息的重要程度;级别高的会自动屏蔽级别低的日志,也就是说,设置了WARN的日志,则INFO、DEBUG的日志级别的日志不会显示

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

    (3)日志信息的输出格式,而输出格式则控制了日志信息的显示内容。

    1. 引入Log4j2依赖

    在pom.xml 增加依赖

    
    <dependency>
        <groupId>org.apache.logging.log4jgroupId>
        <artifactId>log4j-coreartifactId>
        <version>2.19.0version>
    dependency>
    <dependency>
        <groupId>org.apache.logging.log4jgroupId>
        <artifactId>log4j-slf4j2-implartifactId>
        <version>2.19.0version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2. 加入日志配置文件

    在类的根路径下提供log4j2.xml配置文件(文件名固定为:log4j2.xml,文件必须放到类根路径下。)
    在这里插入图片描述

    
    <configuration>
        <loggers>
            
            <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>
    
            
            <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>
    
            
            <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 max="20"/>
            RollingFile>
        appenders>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    3. 测试

    在一个测试类里面加入这个方法和参数

        private Logger logger = LoggerFactory.getLogger(HelloTest.class);
        @Test
        void addLog(){
            logger.info("我要在这里写一个log................................");
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行原测试程序,多了spring打印日志
    然后自己写的 日志也加在里面了
    然后在自己规定的存的日志的地址也出现了相应的log文件
    注意:注意自己log 文件的存储地址。

  • 相关阅读:
    Java多线程-线程创建的3种方式
    55 零钱兑换
    【计算机网络】VLAN原理和配置
    【TensorFlow深度学习】张量Broadcasting机制与数学运算实践
    传统机器学习笔记6——回归树模型
    java毕业设计个人博客网站Mybatis+系统+数据库+调试部署
    AI推介-大语言模型LLMs论文速览(arXiv方向):2024.06.05-2024.06.10
    二阶段目标检测介绍
    2022 全栈开发报告:Python “火”得实至名归、前端框架依旧是“三巨头”
    R语言的计量经济学技术
  • 原文地址:https://blog.csdn.net/Don_t_always_ail/article/details/133799429