线上服务动态修改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
相关推荐
LJianK18 分钟前
Java中的类、普通类,抽象类,接口的区别
java·开发语言
LiLiYuan.35 分钟前
【Java线程 vs 虚拟机线程】
java·开发语言
2402_881319301 小时前
跨服务通信兜底机制-Java 回传失败无持久重试队列,报告可能静默丢失。
java·开发语言·python
明灯伴古佛1 小时前
面试:对Spring AOP的理解
java·spring·面试
Nyarlathotep01131 小时前
ConcurrentHashMap源码分析
java·后端
Barkamin2 小时前
多线程简单介绍
java·开发语言·jvm
小比特_蓝光2 小时前
算法篇二----二分查找
java·数据结构·算法
田梓燊2 小时前
leetcode 56
java·算法·leetcode
scan7242 小时前
龙虾读取session历史消息
java·前端·数据库
better_liang3 小时前
每日Java面试场景题知识点之-分布式事务
java·微服务·seata·分布式事务·一致性·saga·tcc