线上服务动态修改loggers日志级别

场景

线上服务一般为info级别,当需要查看线上服务的debug日志时,需要调整日志级别,一般需要修改配置重启,不符合可用性原则。

方案

使用actuator中的loggers接口调整级别。在项目中加入actuator组件

html 复制代码
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

添加配置,根据需要开启接口,防止其他接口暴露服务数据,提高安全性。

bash 复制代码
management:
  endpoints:
    web:
      exposure:
        # 暴露监控接口,*为全部接口
        include: 'loggers'
        # 不暴露接口
        # exclude: 'heapdump'
  metrics: #是否在内存中保存监控统计数据
    export:
      simple:
        enabled: false

服务启动时,请求修改目录日志级别

bash 复制代码
curl -X POST http://localhost:8100/actuator/loggers/com.lizz.ta.test.controllers -H "Content-Type: application/json" -d '{"configuredLevel": "INFO"}'

服务响应日志

bash 复制代码
|-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@2c282004 
- Propagating INFO level on Logger[com.lizz.ta.test.controllers] onto the JUL framework
相关推荐
java1234_小锋6 小时前
Spring AI 2.0 开发Java Agent智能体 - 结构化输出
java·人工智能·spring
asdfg12589636 小时前
Java 大型项目设计的“内功心法”---面向对象和接口编程
java·开发语言
ch.ju6 小时前
Java programming Chapter Three——Array
java·开发语言
努力努力再努力wz6 小时前
【Qt入门系列】第一个 Qt Widgets 程序:项目创建、UI 文件、Hello World、对象树与 qDebug 日志
java·c语言·开发语言·数据结构·c++·qt·ui
东南门吹雪6 小时前
Spring事务传播机制深度解析
java·数据库·spring
XS0301066 小时前
Java基础 List集合
java·windows·list
凤凰院凶涛QAQ7 小时前
《C++转Java快速入手系列》抽象类和接口篇
java·开发语言·c++
MuYiLuck7 小时前
01-spring-boot-autoconfig-principle
java·spring·maven·自动配置
河阿里7 小时前
Lambda表达式(Java):从语法本质到工程实践
java·开发语言