场景
线上服务一般为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