为什么80%的码农都做不了架构师?>>>
SpringBoot1.5.X版本引入的一个新的控制端点:/loggers,该端点将为我们提供动态修改Spring Boot应用日志级别的强大功能。该功能的使用非常简单,它依然延续了Spring Boot自动化配置的实现,所以只需要在引入了spring-boot-starter-actuator依赖的条件下就会自动开启该端点的功能。
下面介绍一下如何动态改变SpringBoot应用的日志级别:
使用工具为IDEA,SpringBoot版本为1.5.9.
1、创建项目
先通过IDEA中Spring Initializr的创建一个名称为springboot-changeloglevel的项目,并添加web、actuator支持。
1
2
3
4
5
6
7
8
9 1<dependency>
2 <groupId>org.springframework.boot</groupId>
3 <artifactId>spring-boot-starter-actuator</artifactId>
4 </dependency>
5 <dependency>
6 <groupId>org.springframework.boot</groupId>
7 <artifactId>spring-boot-starter-web</artifactId>
8 </dependency>
9
2、修改配置文件
在application.properties增加以下配置信息
1
2
3 1#关闭安全认证校验
2management.security.enabled=false
3
3、增加测试类
增加一个控制层类,用来输入不同级别日志,用于测试
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 1package org.lvgang.springbootchangeloglevel;
2
3import org.slf4j.Logger;
4import org.slf4j.LoggerFactory;
5import org.springframework.web.bind.annotation.GetMapping;
6import org.springframework.web.bind.annotation.RestController;
7
8@RestController
9public class TestController {
10
11
12 protected static Logger logger=LoggerFactory.getLogger(TestController.class);
13
14 @GetMapping("/test")
15 public String hello(){
16 logger.debug("debug"); //输出debug级日志
17 logger.info("info"); //输出info级日志
18 logger.warn("warm"); //输出warm级日志
19 logger.error("error"); //输出error级日志
20
21 return "";
22 }
23}
24
25
4、访问URL说明
完成以上之后,通过SpringBoot启动文件启动项目,会在控制台发现发了几个URL映射,这就是日志相关的监控管理URL。
(get)http://localhost:8080/loggers 通过此URL可以查看项目所有包的日志级别
(get)http://localhost:8080/loggers/org.lvgang 通过此URL可以查看org.lvgang包的日志级别
(post)http://localhost:8080/loggers/org.lvgang 通过此URL可以修改org.lvgang包的日志级别
5、日志级别修改
因需要发送post请求,所有通过Postman工具访问URL。
访问Url:(get)http://localhost:8080/loggers 或http://localhost:8080/loggers/org.lvgang 查看一下org.lvgang包的日志级别,可以查看出org.lvgang未配置日志级别。默认的日志级别为INFO
访问Url:(get)http://localhost:8080/test,查看日志输出测试类,发现后输出了info\warm\error三个级别的日志dubug级别的未输出,原因是默认的日志级别为INFO
访问url:(post)http://localhost:8080/loggers/org.lvgang,修改org.lvgang日志输出别为debug。此请假必须增加请boby体,并且类型为json,boby内容必须与下图一致。
访问Url:(get)http://localhost:8080/loggers 或http://localhost:8080/loggers/org.lvgang 查看一下org.lvgang包的日志级别,可以查看日志级别为dubug
访问Url:(get)http://localhost:8080/test,查看日志输出测试类,发现后输出了dubug\info\warm\error四个级别的日志都输出,表示日志级别修改成功了!