zoukankan      html  css  js  c++  java
  • Spring Boot 动态修改日志级别

    转自:https://my.oschina.net/sdlvzg/blog/1612974,做了一些修改

    SpringBoot1.5.X版本引入的一个新的控制端点:/loggers,该端点将为我们提供动态修改Spring Boot应用日志级别的强大功能。该功能的使用非常简单,它依然延续了Spring Boot自动化配置的实现,所以只需要在引入了spring-boot-starter-actuator依赖的条件下就会自动开启该端点的功能。

    下面介绍一下如何动态改变SpringBoot应用的日志级别:

    使用工具为IDEA,SpringBoot版本为1.5.4【之以上的版本应该都可以】

    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
    management.context-path=/manage

    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。【注意不要用网页访问,我这边提示了访问失败,但是用工具是OK的】

        访问Url:(get)http://localhost:8080/loggers【查看所有的日志级别】 或http://localhost:8080/loggers/org.lvgang 查看一下org.lvgang包的日志级别,可以查看出org.lvgang未配置日志级别。默认的日志级别为INFO

        

         访问Url:(get)http://localhost:8080/test,查看日志输出测试类,发现后输出了infowarmerror三个级别的日志dubug级别的未输出,原因是默认的日志级别为INFO

        

         访问url:(post)http://localhost:8080/loggers/org.lvgang,修改org.lvgang日志输出别为debug。此操作必须增加boby体,并且类型为json,boby内容必须与下图一致。

    【注意是configuredLevel而非configureLevel】

        

        访问Url:(get)http://localhost:8080/loggers 或http://localhost:8080/loggers/org.lvgang 查看一下org.lvgang包的日志级别,可以查看日志级别为dubug

        

      访问Url:(get)http://localhost:8080/test,查看日志输出测试类,发现后输出了dubuginfowarmerror四个级别的日志都输出,表示日志级别修改成功了

        

  • 相关阅读:
    02_离线计算系统_第2天(HDFS详解)
    01_离线计算系统_第1天(HADOOP快速入门)
    01_离线计算系统_第1天(HADOOP快速入门)
    第4天 java高级特性增强 ---有用 第一遍
    038_字符串的转义
    037_标准化日期代码
    036_js中的字符串比较大小
    035_jQaury中的each()循环
    034_json对象字符串长什么样子?
    033_SpringMVC返回String,view,Object的原理
  • 原文地址:https://www.cnblogs.com/silentdoer/p/14069267.html
Copyright © 2011-2022 走看看