gpt4 book ai didi

java - 在 Debug模式下以编程方式启用 Logback?

转载 作者:行者123 更新时间:2023-11-30 04:56:10 29 4
gpt4 key购买 nike

我想知道是否有办法以编程方式启用 Debug模式。由于我不允许使用配置文件,因此我目前以编程方式配置所有内容。最近,我遇到了一个问题,虽然 FileAppender 工作得很好,但 RollingFileAppender 停止写入文件。事实上,RollingFileAppender 上周也在工作,据我所知,此后没有任何变化。

请告诉我是否有办法启用调试,因为使用配置文件(logback.xml)似乎不起作用。

最佳答案

在我发布问题后,托尼在这里提供了一个很好的答案。

http://old.nabble.com/Enable-Debugging-Mode-Programmatically--td32961424.html

当您试图找出 LogBack 在某些情况下不起作用的原因时,这非常有帮助。我选择使用第一种方法来编写初始化代码。

请记住,这是当您选择不使用配置文件(就像我的用例一样)时的情况。

<小时/>

来自:tony19

有几种方法:

1) 使用 StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext)

或者

2) 加载配置 XML 的硬编码字符串 w/configuration.debug 设置为“true”:

static final String LOGBACK_XML = 
"<configuration debug='true'>" +
" <appender name='FILE' class='ch.qos.logback.core.RollingFileAppender'>" +
" <file>foo.log</file>" +
" <append>true</append>" +
" <encoder>" +
" <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>" +
" </encoder>" +
" </appender>" +
" <root level='INFO'>" +
" <appender-ref ref='FILE' />" +
" </root>" +
"</configuration>"
;

static public void configLogback() {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();

configurator.doConfigure(new ByteArrayInputStream(LOGBACK_XML.getBytes()));
} catch (JoranException je) {
je.printStackTrace();
}

// you can also print the errors/warning explicitly (instead of debug='true' in xml)
//StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
}

关于java - 在 Debug模式下以编程方式启用 Logback?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482359/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com