Java中logback 自动刷新不生效的问题解决
作者:常金家的秋意 发布时间:2022-09-07 21:26:04
一、背景
今天心血来潮,准备测试一下项目中 logback 的自动刷新功能,但是测试时发现并不生效。logback 的配置如下:
<configuration scan="true" scanPeriod="10 seconds">
可以看到,配置了 10s 的自动刷新
二、问题排查
排查这种问题最好的方法,看日志。所以我们需要先开启 logback 自身运行时的日志,在配置项中增加一个 debug
配置,开启方法如下:
<configuration scan="true" scanPeriod="10 seconds" debug="true">
启动项目,发现输出了如下日志:
此异常日志不影响项目最终启动成功。重点在这句话:
Failed to rename context [logback] as [nacos] java.lang.IllegalStateException: Context has been already given a name
通过日志猜测,是 nacos 自带的 logback 影响了 springboot 服务中配置的 logback,导致自动刷新不生效
三、问题处理
我们选择禁用掉 nacos 的 logback,在 nacos 官网找了一圈后,发现可以通过以下参数禁用 nacos.logging.default.config.enabled
,推荐两种配置方式:
在启动参数中添加:
-Dnacos.logging.default.config.enabled=false
在 springboot 的启动类中,增加如下配置:
public static void main(String[] args) {
// 禁用 nacos 的默认日志
System.setProperty("nacos.logging.default.config.enabled", "false");
SpringApplication.run(OrderApplication.class, args);
}
以上两种方法均可。添加完成后,scanPeriod
的自动刷新就生效了。
另外说一个小坑,如果是在本地的 idea 中测试 logback 的自动刷新,记得在修改了 logback
的配置后,需要对文件进行重新编译(或者直接修改 target 下 classes 中的 logback
文件)
来源:https://juejin.cn/post/7229667871604899897


猜你喜欢
- 一、java多线程基本入门java多线程编程还是比较重要的,在实际业务开发中经常要遇到这个问题。 java多线程,传统创建线程的方式有两种。
- 一、前言 在学习了循环、分支、和函数之后,可以写一些简单的小游戏来给自己的编程之路增添一
- G1 – Garbage First(垃圾优先算法)G1最主要的设计目标是: 将STW停顿的时间和分布变成可预期以及可配
- 合并有序数组的实现java版本:实例代码public class Merge {//合并有序数组 public static v
- 1 前言项目中,目前主流的当然是微服务项目。为了应对高并发,以及保证自己的服务比较稳定,通常会把服务按照模块,或者具体的业务划分为多个独立的
- 覆盖类成员:通过new关键字修饰虚函数表示覆盖该虚函数。一个虚函数被覆盖后,任何父类变量都不能访问该虚函数的具体实现。public virt
- 分类1.简单工厂模式2.工厂方法模式3.抽象工厂模式案例需求根据蛋糕的不同口味,分别创建苹果味和香蕉味的蛋糕实例方案一:简单工厂模式定义蛋糕
- 本文实例讲述了C#检测上传文件真正类型的方法。分享给大家供大家参考。具体分析如下:对于用户上传的文件如果只是根据扩展名判断,很容易上传上来可
- 什么是AOPAOP是 Aspect Oriented Programming 的缩写,即面向切面编程,和平常遇到的面向对象OOP编程不一样的
- 本文实例讲述了C#提取网页中超链接link和text部分的方法。分享给大家供大家参考,具体如下:string s = "..&qu
- 一、登录认证基于过滤器链Spring Security的登录验证流程核心就是过滤器链。当一个请求到达时按照过滤器链的顺序依次进行处理,通过所
- 一、文件上传的必要前提A form 表单的 enctype 取值必须是:multipart/form-data(默认值是:applicati
- 前言 GMap.NET是一个强大、免费、跨平台、开源的.NET控件。分为WPF和winform版。GMap.NET的基本知识不做过
- 我们在编写网络程序的时候,经常会进行如下操作:申请一个缓冲区从数据源中读入数据至缓冲区解析缓冲区的数据重复第2步表面上看来这是一个很常规而简
- 一般,我们的web应用都是只有在用户登录之后才允许操作的,也就是说我们不允许非登录认证的用户直接访问某些页面或功能菜单项。我还记得很久以前我
- springboot 取消starter的自动注入starer是spring boot中一个很重要的概念,starter相当于一个模块,它能
- 引言翻译自:towardsdev.com/mastering-e…Kotlin 作为现代的、强大的编程语言,可以给开发
- 目录ActivityView常用事件接口设置监听的几种方法1)让Activity实现接口2) 匿名内部类3) onClick可以在xml中设
- 一、bean实例化——构造方法(常用)bean本质上就是对象,创建bean使用构造方法完成BookD
- 一、需求分析:1、输入一个数组-----------------------------------------》程序要接收一组输入的数组,