Logback:加载 groovy 配置
Logback: Load groovy config
如何以编程方式加载名为 groovy 配置 (logback-config.groovy
) 的自定义配置?
当我尝试时:
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(this.getClass().getResource("/logback-config.groovy"));
获得经验值:
ch.qos.logback.core.joran.spi.JoranException: Problem parsing XML
document. See previously reported errors.
怎么了?
这里的问题是 JoranConfigurator
仅针对 XML 配置;对于 Groovy 配置文件,logback 使用不同的 class GafferConfigurator
。 (不幸的是,logback 文档并没有很好地宣传这一事实。)但与其直接引用 GafferConfigurator
,不如使用 ContextInitializer
class 更好:
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.reset();
new ContextInitializer(loggerContext).configureByResource(this.getClass().getResource("/logback-config.groovy"));
这允许您同时处理 XML 和 Groovy 文件类型,并利用一些 logback 的内置错误检查。
如何以编程方式加载名为 groovy 配置 (logback-config.groovy
) 的自定义配置?
当我尝试时:
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(this.getClass().getResource("/logback-config.groovy"));
获得经验值:
ch.qos.logback.core.joran.spi.JoranException: Problem parsing XML document. See previously reported errors.
怎么了?
这里的问题是 JoranConfigurator
仅针对 XML 配置;对于 Groovy 配置文件,logback 使用不同的 class GafferConfigurator
。 (不幸的是,logback 文档并没有很好地宣传这一事实。)但与其直接引用 GafferConfigurator
,不如使用 ContextInitializer
class 更好:
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.reset();
new ContextInitializer(loggerContext).configureByResource(this.getClass().getResource("/logback-config.groovy"));
这允许您同时处理 XML 和 Groovy 文件类型,并利用一些 logback 的内置错误检查。