当前位置:首页 > JAVA > 正文内容

springboot在运行时设置日志输出级别,不重启服务

高老师7个月前 (05-30)JAVA150

我们的X2-300系统在所有http请求时如果开启debug则记录日志信息,代码如下:

String method = "post";
String home = this.routeUrlService.getHome(method, url);
String newUrl = this.routeUrlService.getUrl(method, url);
if (log.isDebugEnabled()) {
    log.debug("x3 - 2postForEntity {} to method:{}. home:{}. newUrl:{}", new Object[]{url, method, home, newUrl});
}

有时候线上有问题需要查看请求参的时候发布代码测试非常不方便,通过修改application.properties的参数logging.level.root=debug需要重启服务,非常不方便。通过研究发现可以修改logback-spring.xml文件来开启debug模式。

先开启配置扫描,每隔5秒更新1次配置信息

<configuration scan="true" scanPeriod="5 seconds" debug="false">

然后我们修改日志级别

<!-- 日志输出级别:TRACE,DEBUG,INFO,WARN,ERROR -->
<root level="DEBUG">
    <!-- 控制台输出 -->
    <appender-ref ref="console"/>
    <!-- 按照每天生成日志文件 -->
    <appender-ref ref="file"/>
    <appender-ref ref="file_error"/>
</root>

使用完成记得关闭即可。

如果是在本地测试记得修改target目录下的配置文件,本地调试实际运行的配置文件是target目录下的文件

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:http://blog.20230611.cn/post/772.html

分享给朋友:

“springboot在运行时设置日志输出级别,不重启服务” 的相关文章

 java字节与字符的区别,字节与字的区别与联系

java字节与字符的区别,字节与字的区别与联系

字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。字符(Character)计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等。一般在英文...

Java不用编译直接执行

Java不用编译直接执行

public class test {     public static void main(String[] args) {     &...

java一个类可以有多个构造方法

java一个类可以有多个构造方法

java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member {     public Member(){      ...

java限制1个方法同一时间只能被一个线程访问

java限制1个方法同一时间只能被一个线程访问

java限制1个方法同一时间只能被一个线程访问public synchronized void setOrderPay(){ }加上synchronized 修饰符即可...

java增强型for循环

java增强型for循环

Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member {     public static void main(String[]&...

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java判断字符是否是一个字母System.out.println(Character.isLetter('a'));java判断字符是否是一个数字System.out.println(Character.isDigit('0'));java判断字符是否是一个空白Sy...