SpringBoot1.5.X版本引入的一个新的控制端点:/loggers,该端点将为咱们提供动态修改Spring Boot应用日志级别的强大功能。该功能的使用很是简单,它依然延续了Spring Boot自动化配置的实现,因此只须要在引入了spring-boot-starter-actuator依赖的条件下就会自动开启该端点的功能。java
下面介绍一下如何动态改变SpringBoot应用的日志级别:web
使用工具为IDEA,SpringBoot版本为1.5.9.spring
先经过IDEA中Spring Initializr的建立一个名称为springboot-changeloglevel的项目,并添加web、actuator支持。json
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
在application.properties增长如下配置信息安全
#关闭安全认证校验 management.security.enabled=false
增长一个控制层类,用来输入不一样级别日志,用于测试springboot
package org.lvgang.springbootchangeloglevel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { protected static Logger logger=LoggerFactory.getLogger(TestController.class); @GetMapping("/test") public String hello(){ logger.debug("debug"); //输出debug级日志 logger.info("info"); //输出info级日志 logger.warn("warm"); //输出warm级日志 logger.error("error"); //输出error级日志 return ""; } }
完成以上以后,经过SpringBoot启动文件启动项目,会在控制台发现发了几个URL映射,这就是日志相关的监控管理URL。app
(get)http://localhost:8080/loggers 经过此URL能够查看项目全部包的日志级别spring-boot
(get)http://localhost:8080/loggers/org.lvgang 经过此URL能够查看org.lvgang包的日志级别工具
(post)http://localhost:8080/loggers/org.lvgang 经过此URL能够修改org.lvgang包的日志级别post
因须要发送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四个级别的日志都输出,表示日志级别修改为功了!