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

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

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

我们的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增强型for循环

java增强型for循环

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

java获取时间戳,java时间戳获取

java获取时间戳,java时间戳获取

System.out.println("当前时间戳(秒): " + System.currentTimeMillis()/1000); System.out.println("当前时间戳(毫秒): " +&nb...

java正则表达式捕获组

java正则表达式捕获组

java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...

java lookingAt匹配字符串和java matches匹配字符串,java正则replaceAll,java正则replaceFirst

java lookingAt匹配字符串和java matches匹配字符串,java正则replaceAll,java正则replaceFirst

(4).java lookingAt匹配字符串和java matches匹配字符串lookingAt不要求整个字符串全匹配,例如me和me_you都是匹配的,但是lookingAt从第一个字符串开始匹配,匹配失败了也不会继续匹配,意味着me和you_me是无法匹配的matches匹配字符串要求全部匹...

java命令行传参,java从命令行接收参数

java命令行传参,java从命令行接收参数

java命令行传参,java从命令行接收参数public static void main(String[] args) {     for (int i = 0;&nb...

java析构函数,java finalize()

java析构函数,java finalize()

java析构函数finalize()java进行垃圾回收时会调用finalize(),用户可以用它来关闭已经打开的资源句柄等操作,具体场景比较多。和php的析构函数__destruct差不多但是这个方法在最新版本的java中提示已经废弃了,好像java9中干掉了它...