gpt4 book ai didi

动态配置Spring Boot日志级别的全步骤

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章动态配置Spring Boot日志级别的全步骤由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

前言 。

项目使用了springboot构建项目。下面对动态调整日志的级别进行记录.

从版本 1.5.1 之后就提供了基于 spring-boot-starter-actuator 的端点 /loggers。通过该端点可以实现查看系统的 package-path 的日志级别,以及针对特定的 package-path 配置运行中的应用的日志级别的功能.

actuator 依赖 。

pom 依赖 。

因为是基于 web 的项目和利用 actuator 提供的端点来进行配置,因此需要依赖:

?
1
2
3
4
5
6
7
8
9
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-web</artifactid>
</dependency>
 
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-actuator</artifactid>
</dependency>

安全配置 。

actuator 提供的端点(endpoints),默认是需要安全认证才能够被访问的。因为里面涉及到一些敏感的信息。需要安全认证就需要配置 spring-security。为了方便首先配置不需要安全权限的.

?
1
management.security.enabled= false

get 请求访问 。

我们可以发送get 请求到 http://localhost:8091/loggers 来获取支持的日志等级,以及系统(root)默认的日志等和各个包路径(com.mall.goods.zhongkui等)对应的日志级别.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
  levels: [
  "off" ,
  "fatal" ,
  "error" ,
  "warn" ,
  "info" ,
  "debug" ,
  "trace"
  ],
  loggers: {
  root: {
  configuredlevel: "info" ,
  effectivelevel: "info"
  },
  com.mall.goods.zhongkui: {
  configuredlevel: "debug" ,
  effectivelevel: "debug"
  },
  com.mall.goods.zhongkui.mallcpswomai.mapper: {
  configuredlevel: "debug" ,
  effectivelevel: "debug"
  }
  }
}

配置日志级别 。

编写日志输出类 。

编写一个controller 输出各个级别的日志:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@slf4j
@controller
public class testcontroller {
  
  @getmapping (value = "/testlog" )
  public string testlog() {
   log.info( "---------------------------" );
   log.debug( "debug debug" );
   log.info( "info info info" );
   log.warn( "warn warn warn" );
   log.error( "error error error " );
   log.info( "---------------------------" );
   return "ok" ;
  }
}

查看日志级别 。

启动应用访问 http://localhost:8091/ 得到:

[2018-07-30 18:05:42.868] [http-nio-8091-exec-2] info  com.mall.goods.zhongkui.mallcpswomai.web.orderrelationcontroller---------------------------- [2018-07-30 18:05:42.869] [http-nio-8091-exec-2] debug com.mall.goods.zhongkui.mallcpswomai.web.orderrelationcontroller-debug debug [2018-07-30 18:05:42.869] [http-nio-8091-exec-2] info  com.mall.goods.zhongkui.mallcpswomai.web.orderrelationcontroller-info info info [2018-07-30 18:05:42.869] [http-nio-8091-exec-2] warn  com.mall.goods.zhongkui.mallcpswomai.web.orderrelationcontroller-warn warn warn [2018-07-30 18:05:42.869] [http-nio-8091-exec-2] error com.mall.goods.zhongkui.mallcpswomai.web.orderrelationcontroller-error error error [2018-07-30 18:05:42.869] [http-nio-8091-exec-2] info  com.mall.goods.zhongkui.mallcpswomai.web.orderrelationcontroller---------------------------- 。

spring boot 默认的 root 日志级别是info.

配置特定包的日志级别 。

通过 /loggers 端点提供的 post 请求,修改包路径com.mall.goods.zhongkui 的日志级别为info。  。

 * 发送post 请求到  http://localhost:8091/com.mall.goods.zhongkui,其中请求 body 的内容如下:

?
1
2
3
{
  "configuredlevel" : "info"
}

•get 访问 /loggers/com.mall.goods.zhongkui 查看当前的日志级别:

?
1
2
3
4
{
  configuredlevel: "info" ,
  effectivelevel: "info"
}

•再次访问 http://localhost:8091/ 得到:需要注意的是,通过 /loggers 配置的日志级别在应用重启时会恢复到系统的配置。如果想永久的配置日志的级别还是需要通过logging.level.package-path 来进行配置.

总结 。

spring boot 提供的日志级别动态配置功能,为我们的线上应用调试提供了很好的机制。在实际使用中需要结合 spring-security 提供的安全机制来保护actuator 提供的各种系统级端点.

参考 。

1.configure a logger 。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持.

原文链接:https://blog.csdn.net/u014684364/article/details/81289696 。

最后此篇关于动态配置Spring Boot日志级别的全步骤的文章就讲到这里了,如果你想了解更多关于动态配置Spring Boot日志级别的全步骤的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com