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

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

高老师2年前 (2024-05-30)JAVA290

我们的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目录下的文件

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

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

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

分享给朋友:

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

Java不用编译直接执行

Java不用编译直接执行

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

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

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

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

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

(1).创建数组double[] myList = new double[size];  //推荐创建方式 double myList[] = new double[size];  ...

java日期和时间

java日期和时间

(1).java获取当前日期时间Date date = new Date();  System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...

java正则appendReplacement方法和java正则appendTail

java正则appendReplacement方法和java正则appendTail

假如有个字符串为"fatcatfatcatfat",正则为“cat”当调用appendReplacement(sb, "dog")时appendReplacement方法都会把匹配到的内容替换为dog,并把匹配到字符串的前面几个字符串+dog送给sb里,所以第...

java Scanner next方法 nextLine方法

java Scanner next方法 nextLine方法

 java Scanner next方法 nextLine方法// 创建Scanner对象 Scanner scan = new Scanner(System.in); // 阻塞等待用户输入数据 if (scan.h...