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

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

高老师8个月前 (05-30)JAVA175

我们的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编译执行时编码问题

java编译编码问题,java编译执行时编码问题

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

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

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

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

java正则appendReplacement方法和java正则appendTail

java正则appendReplacement方法和java正则appendTail

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

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

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

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

java Scanner next方法 nextLine方法

java Scanner next方法 nextLine方法

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

java枚举,java 枚举元素迭代

java枚举,java 枚举元素迭代

java枚举是一个特殊的类,一般表示一组常量,使用enum关键字来定义,每个常量用逗号隔开。枚举也可以在类的内部进行定义。例如:enum CODE {     SUCCESS, FAILED } CODE c1 ...