log日志动态切换
api
- api
- JCL(Jakarta Commons Logging) (Spring)
- SLF4J(Simple Logging Facade for Java),
- Jboss-logging(hibernate)
- 实现
- Log4j /Log4j2
- JUL(java.util.logging )
- Logback
springboot统一日志api
SpringBoot默认的日志实现是使用slf4j+logback
logback日志级别动态切换
1.开启logback的自动扫描更新
1.配置定时扫描
<!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true -->
<!-- scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
<configuration scan="true" scanPeriod="1 seconds">
- 然后就将修改的配置文件拷贝到app.jar的同级目录下config/logback.xml
idea中在target class中保存即可生效
2.自定义Logger api
获取日志实现框架的Logger类,去调整(setLevel)日志等级
- apollo监听
- 提供接口主动调用
3.springboot引入Actuator
发送请求变更日志级别
发送POST 请求到 http://localhost:8080/actuator/loggers/com.xxx.aa,其中请求 Body 的内容如下:
{
“configuredLevel”: “DEBUG”
}