线上服务动态修改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
相关推荐
Thanwind1 分钟前
RBAC介绍以及如何设计一个简易且高可用的RBAC1的鉴权系统
java·架构
MX_93592 分钟前
Spring的命名空间
java·后端·spring
没有bug.的程序员7 分钟前
微服务网关:从“必选项”到“思考题”的深度剖析
java·开发语言·网络·jvm·微服务·云原生·架构
YJlio10 分钟前
DiskView 学习笔记(13.3):用扇区视图看磁盘——热点盘块、碎片与健康排查
java·笔记·学习
通往曙光的路上11 分钟前
GitGit
java
又是忙碌的一天13 分钟前
Myvatis 动态查询及关联查询
java·数据库·mybatis
没有bug.的程序员15 分钟前
Sentinel 流控原理深度解析:构建高可用微服务的底层架构
java·算法·微服务·云原生·架构·sentinel·负载均衡
秋邱17 分钟前
Java数组与二维数组:创建、初始化、遍历与实操案例全解析
java·开发语言
独自破碎E27 分钟前
消息队列如何处理重复消息?
java·开发语言·rocketmq
a程序小傲1 小时前
得物Java面试被问:Fork/Join框架的使用场景
java·开发语言·面试