线上服务动态修改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
相关推荐
未来转换4 分钟前
基于A2A协议的生产应用实践指南(Java)
java·开发语言·算法·agent
后端漫漫12 分钟前
Redis 配置文件与服务功能
java·redis
Dwzun13 分钟前
基于Java+SpringBoot+Vue的校园二手物品置换系统设计与实现【附源码+文档+部署视频+讲解】
java·开发语言·spring boot
polaris063019 分钟前
Spring Boot 项目开发流程全解析
java·spring boot·log4j
zuowei288929 分钟前
spring实例化对象的几种方式(使用XML配置文件)
xml·java·spring
C、空白格30 分钟前
Java集成Vosk实现离线语音识别
java·开发语言·语音识别
阿巴斯甜37 分钟前
preProcessHandler: (AppException) -> Boolean用法:
java
Lyyaoo.1 小时前
【JAVA基础面经】native方法
java·开发语言
牛十二1 小时前
nacos2.4连接出错源码分析
java·linux·开发语言
阿巴斯甜1 小时前
userList.stream().sorted((u1, u2) -> u2.getAge() - u1.getAge()); 怎么判断是升序还是降序?
java