有人可以向我解释我们何时应该使用JoranConfigurtor? 我在目录中存在logback.xml。我想知道这段代码中发生了什么?
没有LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
初始化上下文?那么乔兰正在做什么?
private static void configureLoggerContext(String logbackConfigFileUrl) {
File file = new File(logbackConfigFileUrl);
LoggerListener loggerListener = new LoggerListener();
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.reset();
loggerContext.addListener(loggerListener);
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
try {
configurator.doConfigure(file);
} catch (JoranException je) {
throw new RuntimeException(je.getMessage());
}
}
答案 0 :(得分:1)
Joran
a只是Logback
依赖的配置库。
https://logback.qos.ch/manual/configuration.html#joranDirectly
答案 1 :(得分:0)
当您的应用程序需要显式配置时,使用JoranConfigurator
来配置日志记录,而不是仅在servlet环境中使用web.xml
之类的东西(将在后台使用配置程序)。
例如,如果您创建一个简单的桌面应用程序并且想要使用本地logback.xml
文件进行配置,则可以使用配置程序加载它
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
configurator.doConfigure(new File("path/to/logback.xml"));
logger上下文只是Logback的上下文,它包含了logback组件的实现,它允许您为类创建Logger。调用.doConfigure
时,将根据logback.xml
内的内容配置上下文。
来自LoggerContext doc:
LoggerContext实现了充当Logger实例制造源的ILoggerFactory。