Java logback-重新加载配置时的聊天日志记录
我试图使重新加载配置时发生的logback的内部日志保持沉默。我也研究了这个问题,并尝试了每一个推荐的解决方案。然而,这个案例似乎有点不同。在大多数情况下,logback表现良好。在我重新加载之前,一旦重新加载完成,它不会发出窥视,但是当重新加载运行时,它会记录 我试过:Java logback-重新加载配置时的聊天日志记录,java,logging,configuration,logback,Java,Logging,Configuration,Logback,我试图使重新加载配置时发生的logback的内部日志保持沉默。我也研究了这个问题,并尝试了每一个推荐的解决方案。然而,这个案例似乎有点不同。在大多数情况下,logback表现良好。在我重新加载之前,一旦重新加载完成,它不会发出窥视,但是当重新加载运行时,它会记录 我试过: 将通道qos记录器设置为警告 配置始终为debug=“false” 使用编码器而不是布局 向配置中添加了NopStatusListener 升级至最新的logback(1.1.2) 确保没有错误。只记录信息消息 尝试使用筛选器
谢谢。我想实际上在堆栈上写一个问题会让脑细胞有点动摇。因此,我通过直接调用JoranConfigurator并跳过重置过程来修复此问题。此外,我从根记录器中删除了标准输出附加器(因为其目的是从标准输出切换到文件记录)
final URL url = Main.class.getClassLoader().getResource("file-logback.xml");
final LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
try {
final JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
configurator.doConfigure(url);
final ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.detachAppender("STDOUT");
log.info("Set internal logback config with file [{}] and roll pattern [{}]", logFileName, rollPattern);
} catch (JoranException je) {
System.err.println("Failed to configure internal logback");
je.printStackTrace(System.err);
}