0

0

SpringBoot 2.x怎么整合Log4j2日志

WBOY

WBOY

发布时间:2023-05-30 18:43:24

|

1320人浏览过

|

来源于亿速云

转载

    整合步骤

    本次演示采用的springboot 版本为2.7.x。

    • 依赖引入

    
        org.springframework.boot
        spring-boot-starter-web
        
            
                org.springframework.boot
                spring-boot-starter-logging
            
        
    
    
        org.springframework.boot
        spring-boot-starter-log4j2
    
    • 需要排除掉logback日志框架的依赖spring-boot-starter-logging

    • 引入log4j2的依赖spring-boot-starter-log4j2

    • 添加log4j2配置文件

    • 在classpath下添加log4j2-spring.xml或者log4j2.xml文件,建议使用log4j-spring.xml,这种方式spring可以控制初始化。

    • 如果你不想把配置放到classpath下,需要自定义位置, 可以在配置文件中通过配置项logging.config: ./log4j2.xml来修改。

    SpringBoot 2.x怎么整合Log4j2日志

    • 添加日志文件内容

    下面通过一个最精简的配置内容,下一节详细讲解配置。

    
    
        
        
            
            
            
            
            
            
        
    
        
            
                
                
            
    
            
            
                
            
    
            
            
                
                
                
                
                    
                    
                    
                
                
                
            
    
            
            
                
                
                
                
                    
                    
                    
                
                
                
            
    
            
            
                
                
                
                
                    
                    
                    
                
                
                
            
    
        
    
        
        
        
            
                
                
                
                
                
            
        
    
    
    • 添加测试代码

    SpringBoot 2.x怎么整合Log4j2日志

    • 查看结果

    SpringBoot 2.x怎么整合Log4j2日志

    Log4j2配置详解

    log4j2日志级别从低到高,如下:

    ● trace:追踪,就是程序推进一下,可以写个trace输出

    ● debug:调试,一般作为最低级别,trace基本不用。

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

    ● warn:警告,有些信息不是错误信息,但也要给程序员一些提示。

    ● error:错误信息。用的也很多。

    ● fatal:致命错误。

    如果一条日志信息的级别大于等于配置文件的级别,就记录。

    配置文件模板如下:

    
    
    
    
      
    
      
      
        
        
        
        
        
        
      
    
      
    
        
          
         
          
          
        
    
        
        
          
        
    
        
        
          
          
          
          
            
            
            
          
          
          
        
    
        
        
          
          
          
          
            
            
            
          
          
          
        
    
        
        
          
          
          
          
            
            
            
          
          
          
        
    
      
    
      
      
      
    
        
        
          
        
        
        
        
          
        
    
        
          
          
          
          
          
        
      
    
    

    根节点configuration

    • 属性status用来指定log4j本身的打印日志的级别.

    • 属性monitorinterval用于指定log4j自动重新配置的监测间隔时间,单位是s,最小是5s.

    子节点Properties

    配置全局变量,可以通过${xxx}的方式引用

    HTTPie AI
    HTTPie AI

    AI API开发工具

    下载

    子节点Appenders

    常见的有三种Appender: Console、RollingFile、File。

    Console节点用来定义输出到控制台的Appender.

    • name:指定Appender的名字.

    • 通常默认只设置为SYSTEM_OUT,而不是SYSTEM_ERR

    • PatternLayout:输出格式,不设置默认为:%m%n.

    File节点用来定义输出到指定位置的文件的Appender.

    • name:指定Appender的名字.

    • fileName:指定输出日志的目的文件带全路径的文件名.

    • PatternLayout:输出格式,不设置默认为:%m%n.

    RollingFile节点用来定义超过指定条件自动删除旧的创建新的Appender.

    • name:指定Appender的名字.

    • fileName:指定输出日志的目的文件带全路径的文件名.

    • PatternLayout:输出格式,不设置默认为:%m%n.

    • filePattern : 指定当发生Rolling时,文件的转移和重命名规则.

    • Policies:指定滚动日志的策略,就是什么时候进行新建日志文件输出日志.

    • TimeBasedTriggeringPolicy:Policies子节点,基于时间的滚动策略,interval属性用来指定多久滚动一次,默认是1 hour。modulate=true用来调整时间:比如现在是早上3am,interval是4,那么第一次滚动是在4am,接着是8am,12am...而不是7am.

    • SizeBasedTriggeringPolicy:Policies子节点,基于指定文件大小的滚动策略,size属性用来定义每个日志文件的大小.

    • DefaultRolloverStrategy:用来指定同一个文件夹下最多有几个日志文件时开始删除最旧的,创建新的(通过max属性)。

    子节点Loggers

    有两种常见的类型:root和logger,root其实是一种特殊的logger。如果没有单独指定日志器,根日志节点将用于确定项目的根日志,并默认输出该根日志。

    • 属性level:日志输出级别

    • 属性appenderRef,用来指定该日志输出到哪个Appender。

    • logger节点用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。

    • logger节点下属性name用来指定该Logger所适用的类或者类所在的包全路径,继承自root节点。

    • logger节点下的属性appenderRef, 用来指定该日志输出到哪个Appender,如果没有指定,就会默认继承自root。如果指定了,那么会在指定的这个appender和root的appender中都会输出,此时我们可以设置Logger的additivity="false"只在自定义的appender中进行输出。

    相关专题

    更多
    spring框架介绍
    spring框架介绍

    本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

    98

    2025.08.06

    pdf怎么转换成xml格式
    pdf怎么转换成xml格式

    将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    1851

    2024.04.01

    xml怎么变成word
    xml怎么变成word

    步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

    2080

    2024.08.01

    xml是什么格式的文件
    xml是什么格式的文件

    xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

    921

    2024.11.28

    scripterror怎么解决
    scripterror怎么解决

    scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    184

    2023.10.18

    500error怎么解决
    500error怎么解决

    500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    260

    2023.10.25

    全局变量怎么定义
    全局变量怎么定义

    本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

    73

    2025.09.18

    python 全局变量
    python 全局变量

    本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

    96

    2025.09.18

    小游戏4399大全
    小游戏4399大全

    4399小游戏免费秒玩大全来了!无需下载、即点即玩,涵盖动作、冒险、益智、射击、体育、双人等全品类热门小游戏。经典如《黄金矿工》《森林冰火人》《狂扁小朋友》一应俱全,每日更新最新H5游戏,支持电脑与手机跨端畅玩。访问4399小游戏中心,重温童年回忆,畅享轻松娱乐时光!官方入口安全绿色,无插件、无广告干扰,打开即玩,快乐秒达!

    30

    2025.12.31

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Redis6入门到精通超详细教程
    Redis6入门到精通超详细教程

    共47课时 | 5.1万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号