线上服务动态修改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
相关推荐
wszy180912 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
wszy180912 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
程序员小假13 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
资生算法程序员_畅想家_剑魔13 小时前
Kotlin常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin
ProgramHan13 小时前
Spring Boot 3.2 新特性:虚拟线程的落地实践
java·jvm·spring boot
nbsaas-boot14 小时前
Go vs Java 的三阶段切换路线图
java·开发语言·golang
毕设源码-钟学长14 小时前
【开题答辩全过程】以 基于Java的慕课点评网站为例,包含答辩的问题和答案
java·开发语言
小北方城市网14 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
深圳佛手14 小时前
使用java,怎么样高效地读取一个大文件(10g以上)?
java·开发语言
sheji341614 小时前
【开题答辩全过程】以 景点移动导游系统的设计与实现为例,包含答辩的问题和答案
java