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
猜你喜欢
- 使用限制JDBC未支持列表Sharding-JDBC暂时未支持不常用的JDBC方法。DataSource接口不支持timeout相关操作Co
- 本文实例讲述了C++实现的链表类。分享给大家供大家参考。具体如下:#include <iostream>using namesp
- 二叉树的结构public class TreeNode { int val; &nbs
- 日期、数字格式化显示,是web开发中的常见需求,spring mvc采用XXXFormatter来处理,先看一个最基本的单元测试:packa
- throw抛出异常的方式比较直接:if(age < 0){throw new MyException("年龄不能为负数!&q
- Java环境配置原理详解1.Jdk安装目录文件说明:一般jdk安装目录及路径 \Java\jdk1.7.0_79\lib,里面主要包含以下文
- java 实现MD5加密算法的简单实例实现代码:import java.security.NoSuchAlgorithmException;
- GlobalLock的作用对于某条数据进行更新操作,如果全局事务正在进行,当某个本地事务需要更新该数据时,需要使用@GlobalLock确保
- 大家好,今天尝试用swing技术写一个贪吃蛇大作战小游戏,供大家参考。 效果展示效果展示一、游戏界面二、得分情况&nb
- 开放端口安全组没开放端口是原罪!!!导致好多BUG费时费力。Hbase悄悄 * 的用了好多端口,比如被我抓到的42239,直接搜索报错药不对症
- java 解决异常 2 字节的 UTF-8 序列的字节 2 无效的问题  
- 我们编程的过程中大部分使用了很出色的ORM框架,例如:MyBatis,Hibernate,SpringJDBC,但是这些都离不开数据驱动JD
- Java单例模式的实现,对java 单例模式的几种实现方法进行了整理:单例模式好多书上都是这么写的:public class SingleT
- 无论哪种界面框架输入文本框都是非常重要的控件, 但是发现flutter中的输入框TextField介绍的虽然多,但是各个属性怎么组合满足需要
- 本文实例总结了Java JDBC连接数据库常见操作。分享给大家供大家参考,具体如下:db.properties配置文件(MySql数据库)#
- 开篇本文主要来探讨一下 redis 的单线程模型,文章前半部分会先引用某网络课程讲解的内容(图片+语言描述),后半部分是本人粗略阅读 red
- 我们首先看下BASEJDBC的写法实例:package com.dao;import java.sql.Connection;import
- volatile变量volatile是Java的关键词,我们可以用它来修饰变量或者方法。为什么要使用volatilevolatile的典型用
- 这篇文章主要介绍了java property配置文件管理工具框架过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 目录一、Shiro简介 核心角色核心理念二、整合SpringBoot2框架 1、核心依赖2、Shiro核心配置3、域对象