springboot2.X动态修改log4j2日志级别

利用springboot提供的 spring-boot-starter-actuator 包可以实现动态修改log4j2日志级别的功能

添加依赖

添加依赖包

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

修改配置

修改springboot配置文件application.yml,添加如下配置

management:
  endpoints:
    web:
      exposure:
        include: 'loggers'

查询日志级别

利用postman GET请求地址 http://localhost:8080/ecs-exporter/actuator/loggers
得到结果

{
    "levels": [
        "OFF",
        "FATAL",
        "ERROR",
        "WARN",
        "INFO",
        "DEBUG",
        "TRACE"
    ],
    "loggers": {
        "ROOT": {
            "configuredLevel": "INFO",
            "effectiveLevel": "INFO"
        },
        "com": {
            "configuredLevel": "DEBUG",
            "effectiveLevel": "DEBUG"
        }
    }
}

从上面结果中可以看到每个包对应的日志级别,查看指定包对应日志级别可以在url后面拼接对应的包全路径
如:http://localhost:8080/ecs-exporter/actuator/loggers/com

{
    "configuredLevel": "DEBUG",
    "effectiveLevel": "DEBUG"
}

修改

ROOT级别不可动态修改,可以修改每个包的日志级别
利用postman POST请求地址 http://localhost:8080/ecs-exporter/actuator/loggers/对应包
请求体

{
    "configuredLevel": "info"
}

再次查看日志级别,已经变更

{
    "levels": [
        "OFF",
        "FATAL",
        "ERROR",
        "WARN",
        "INFO",
        "DEBUG",
        "TRACE"
    ],
    "loggers": {
        "ROOT": {
            "configuredLevel": "INFO",
            "effectiveLevel": "INFO"
        },
        "com": {
            "configuredLevel": "INFO",
            "effectiveLevel": "INFO"
        }
    }
}

对应log4j.yml配置

  loggers:
    logger:
      - # 以com开头的logger
        name: com
        level: info
        additivity: false
        appenderRef:
          - ref: default_console # 将日志信息输出到控制台
            
    root:
      level: info
      additivity: false
      appenderRef:
        - ref: default_console 
       
posted @   夜洛IT后端技术分享  阅读(1435)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示