文档章节

Spring Boot 动态修改日志级别

阿刚ABC
 阿刚ABC
发布于 2018/01/25 15:18
字数 742
阅读 171
收藏 2

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支持。

<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>

2、修改配置文件

    在application.properties增加以下配置信息

#关闭安全认证校验
management.security.enabled=false

3、增加测试类

    增加一个控制层类,用来输入不同级别日志,用于测试

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 "";
    }
}

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四个级别的日志都输出,表示日志级别修改成功了!

    

 

© 著作权归作者所有

阿刚ABC
粉丝 45
博文 152
码字总数 118786
作品 0
济南
高级程序员
私信 提问
Spring Boot 2动态修改日志级别

本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本。 作为程序猿,定位问题是我们的日常工作,而日志是我们定位问题非常重要的依据。传统方式定位问题时,往往是如下步骤: 将日...

周立_ITMuch
04/22
955
0
在spring cloud中使用springboot admin

maven 这里由于spring boot版本不一致,因此eclude了admin server中的start web spring-boot-admin-server-ui-activiti没看出来有什么用,因此注释掉了 由于使用了turbine来聚合hystrix,因此...

go4it
2017/03/28
237
1
spring boot框架学习4-spring boot核心(3)

本节主要: 1:spring boot 为我们提供的 starter pom 都有哪些 2:怎么添加xml配置文件 3:日志相关 本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中第四篇 spring boot框架学习...

中凯_凯哥java
2017/10/31
332
0
SpringBoot实用小技巧之动态设置SpringBoot日志级别

  有时线上问题我们用打日志的方式来观察错误或埋点参数,但由于这些日志如果都打出来会占用大量存储空间而且覆盖了一些有效信息,所以线上级别一般设置INFO,调试级别用作特殊情况下。此时...

james8888
04/15
0
0
Spring Boot开发之流水无情(二)

上篇散仙写了一个很简单的入门级的Spring Boot的例子,没啥技术含量,不过,其实学任何东西只要找到第一个突破口,接下来的事情就好办了,人最怕什么? 我想莫过于干一件事情,没有下手的地方...

九劫散仙
2015/04/26
63.2K
22

没有更多内容

加载失败,请刷新页面

加载更多

360常用小工具分享 独立版 360驱动网卡版

有些朋友为了修复断网或者修复LSP,都会选择去下载360,用完再删除有些麻烦。所以自己收集了18个实用小工具独立版本方便坛友使用。只做分享,不喜勿喷。 360驱动网卡版:链接: https://pan.b...

xiaogg
4分钟前
1
0
批量删除表中某字段

select * from information_schema.columns where table_schema='erp-zyjsgx-v2' and column_name='manageflag'; alter table jz_xiangmudj drop column manageflag;......

glen_xu
6分钟前
1
0
JavaScript面试题总结系列(八)

8. JavaScript - this对象 this对象 this总是指向函数的直接调用者(而非间接调用者) 如果有new关键字,this指向new出来的那个对象 在事件中,this指向触发这个事件的对象,特殊的是,IE中的...

张森ZS
8分钟前
2
0
Apache Camel Spring Boot

Camel应用初始化 Apache Camel 采用的是组件化的设计思想,通过Camel Component对接第三方的应用,Camel核心模块会扫描classpath 加载这些Camel Component。 Camel应用在启动的过程中,需要将...

WillemJiang
10分钟前
2
0
数据管理必看!Kendo UI for jQuery过滤器状态保持

Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery、Kendo UI for Angular、Kendo UI Support for React和Kendo UI Support for Vue四个控件。Kendo UI for jQue......

FILA6666
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部