springboot动态调整日志级别的操作大全

 更新时间:2021年10月14日 15:57:51   作者:forwardMyLife  
这篇文章主要介绍了springboot动态调整日志级别的方法,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.springboot使用log4j2

springboot使用的common-logging,底层兼容各种日志框架如,log4j2,slf4,logback等,默认底层使用的是logback,我们可以去除logback的依赖,引入log4j2的starter,
如下:

在这里插入图片描述

2.指定日志配置文件和日志等级

(此配置不限于log4j2,也适用于其他日志框架)

在resources目录下加入log4j2的xml配置文件,默认spring-boot会加载classpath下面的名为log4j2.xml,或log4j2-file.xml的日志配置文件。

在这里插入图片描述

也可以在spring的配置文件中指定需要加载的日志配置文件,以及动态调整各个目录的日志等级

logging:
  config: classpath:log4j2.xml
  level:
    com.ly: debug
    org.springframework : info

该参数可以通过系统参数,或启动参数,覆盖jar内的配置项。

java -jar -Dlogging.config="xxx" test.jar
java -jar test.jar --logging.config="xxx"

3.通过springboot-actuator动态调整日志级别

(适用于生产环境)

spring-boot-actuator是springboot的一个监控工具,它可以以http或JMX的方式暴露一些endPoint,内置的endpoint有 health,info,beans,loggers等。
我们可以通过loggers来动态调整日志级别,无需重启服务。

如果是想使用webEndPoint的话,项目必须包含web-starter相关的依赖,因为actuator 的httpEndPoint是以mvc的方式集成的。

3.1 在pom文件中引入依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

3.2 在配置文件中开启loggers的endPoint端点

management:
  endpoints:
    web:
      exposure:
        include: loggers

3.3 发起http请求改变日志级别

URI默认是 /actuator+endpoint+包名

$ curl 'http://localhost:8080/actuator/loggers/com.example' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"configuredLevel":"debug"}'

原理可以看LoggersEndPoint的实现

在这里插入图片描述

4.spring boot日志初始化原理

在这里插入图片描述

有个loggingApplicationListener的监听器,监听了spring的事件,读取了spring容器中的日志配置,进行了日志的初始化。

到此这篇关于springboot动态调整日志级别的文章就介绍到这了,更多相关springboot调整日志级别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • spring通过构造函数注入实现方法分析

    spring通过构造函数注入实现方法分析

    这篇文章主要介绍了spring通过构造函数注入实现方法,结合实例形式分析了spring通过构造函数注入的原理、实现步骤及相关操作注意事项,需要的朋友可以参考下
    2019-10-10
  • 详细聊聊RabbitMQ竟无法反序列化List问题

    详细聊聊RabbitMQ竟无法反序列化List问题

    这篇文章主要给大家介绍了关于RabbitMQ竟无法反序列化List的相关资料,文中通过示例代码将问题以及解决的过程介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • Springboot注解@Value读取配置文件参数详解

    Springboot注解@Value读取配置文件参数详解

    Spring Boot提供了灵活的配置文件读取机制,主要有两种方式,第一种是使用@Value注解直接在类属性上读取application.yml文件中的配置,这种方式简单直接,但需要为每个配置项单独设置属性,第二种方式是通过@PropertySource注解读取自定义的Properties文件
    2024-11-11
  • Java 随机生成任意组电话号码过程解析

    Java 随机生成任意组电话号码过程解析

    这篇文章主要介绍了Java 随机生成任意组电话号码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 剖析Fork join并发框架工作窃取算法

    剖析Fork join并发框架工作窃取算法

    这篇文章主要为大家剖析介绍了Fork join并发框架工作窃取算法的示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Executor拦截器高级教程QueryInterceptor的规范

    Executor拦截器高级教程QueryInterceptor的规范

    今天小编就为大家分享一篇关于Executor拦截器高级教程QueryInterceptor的规范,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • SpringCloud Alibaba 基本开发框架搭建过程

    SpringCloud Alibaba 基本开发框架搭建过程

    这篇文章主要介绍了SpringCloud Alibaba 基本开发框架搭建过程,开发工具选用的idea,本文通过图文实例相结合给大家分享搭建全过程,需要的朋友可以参考下
    2021-06-06
  • Java实现单线程聊天室

    Java实现单线程聊天室

    这篇文章主要为大家详细介绍了Java实现单线程聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 基于java实现人机猜拳游戏

    基于java实现人机猜拳游戏

    这篇文章主要为大家详细介绍了基于java实现人机猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • 浅谈Spring6中的反射机制

    浅谈Spring6中的反射机制

    Java反射机制是Java语言中一种动态(运行时)访问、检测、修改它本身的能力,主要作用是动态(运行时)获取类的完整结构信息、调用对象的方法,需要的朋友可以参考下
    2023-05-05

最新评论