Spring boot动态修改日志级别的方法

作者:小魏的博客 时间:2023-04-04 09:36:00 

一、前言

我们经常会遇到业务想看debug日志的问题,但是debug日志频繁打印会对日志查看有影响,且日志多对系统也会有一定的压力,因此,如果可以在需要的时候动态临时调整下日志的级别则是比较完美的,spring boot已经支持这种功能。

二、Spring boot 2.1调整方式

1、查看当前应用各包/类的日志级别

由于引入了很多其它的组件,spring boot支持对不同组件精细化调整日志级别

http://localhost:7011/actuator/loggers

{
   "levels": [
       "OFF",
       "ERROR",
       "WARN",
       "INFO",
       "DEBUG",
       "TRACE"
   ],
   "loggers": {
       "ROOT": {
           "configuredLevel": "DEBUG",
           "effectiveLevel": "DEBUG"
       },
       "com": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       "com.alibaba": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       "com.alibaba.druid": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       "com.alibaba.druid.pool": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       "com.alibaba.druid.pool.DruidAbstractDataSource": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       "com.alibaba.druid.pool.DruidConnectionHolder": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       "com.alibaba.druid.pool.DruidDataSource": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       "com.alibaba.druid.pool.DruidDataSourceStatLoggerImpl": {
           "configuredLevel": null,
           "effectiveLevel": "DEBUG"
       },
       // ...省略
   }
}

2、查看指定包/类日志详情

http://localhost:7011/actuator/loggers/com.alibaba.druid

{
   "configuredLevel": null,
   "effectiveLevel": "INFO"
}

3、动态修改日志级别

Spring boot动态修改日志级别的方法

再次查看日志级别如下,可见修改成功:

Spring boot动态修改日志级别的方法

三、Spring boot 1.5 调整方式

URL不一样

Spring boot动态修改日志级别的方法

查看日志级别:

Spring boot动态修改日志级别的方法

参考资料:

Spring Boot 2动态修改日志级别

来源:https://blog.csdn.net/w2009211777/article/details/124014841

标签:Spring,boot,日志级别
0
投稿

猜你喜欢

  • 通过实例了解java spring使用构造器注入的原因

    2022-11-25 03:48:24
  • SpringBoot使用过滤器、拦截器和监听器的案例代码(Springboot搭建java项目)

    2022-11-21 06:08:54
  • 基于java的opencv开发过程详解

    2022-03-31 20:02:59
  • Java swing读取txt文件实现学生考试系统

    2021-06-13 17:41:02
  • java8中的默认垃圾回收器(GC)

    2021-12-01 04:27:30
  • 详解Java二叉排序树

    2022-05-25 03:14:26
  • 解决Mybatis 大数据量的批量insert问题

    2023-09-08 13:59:40
  • C#使⽤XmlReader和XmlWriter操作XML⽂件

    2023-12-13 10:25:00
  • 详解Flutter和Dart取消Future的三种方法

    2022-10-15 12:44:16
  • SpringMVC拦截器配置及运行流程解析

    2023-03-30 15:38:57
  • Java数据结构之链表、栈、队列、树的实现方法示例

    2021-10-07 10:40:29
  • java的Console类的使用方法及实例

    2022-09-20 15:47:27
  • java异常处理的简单练习

    2023-12-01 02:20:48
  • Android编程实现XML解析与保存的三种方法详解

    2022-04-15 00:39:01
  • 解决@RequestBody搭配@Data的大坑

    2022-08-29 18:25:35
  • Java/Web调用Hadoop进行MapReduce示例代码

    2023-09-01 05:05:50
  • Android实现Path平滑的涂鸦效果实例

    2023-12-11 23:07:45
  • Java+Selenium调用JavaScript的方法详解

    2021-05-26 17:08:24
  • Java 单向队列及环形队列的实现原理

    2022-12-10 22:09:11
  • Android Service启动过程完整分析

    2021-11-25 11:02:44
  • asp之家 软件编程 m.aspxhome.com