java - logging配置Logback以遵从Java配置,即Logback的纯Java配置

  显示原文与译文双语对照的内容

我不喜欢logback或者Groovy配置的XML,更愿意在 Java ( 这也是因为我将在初始化之后在运行时更改配置) 中进行配置。

It Logback配置的唯一方法是使用某种初始化方法劫持 root appender 或者让定制系统属性告诉Logback不要使用默认配置( 对于单元测试和部署来说,这是) 。

我更喜欢的是像 logback.xml 这样的东西:


<configuration javaConfig="com.myco.LogBackConfig"/> 



其中LogbackConfig要么有一些已经建立的static 方法,要么是logback调用,要么只是实例化了一个 javabean 。

这就是我想要的默认类路径资源,它告诉logback使用Java而不是 groovy/xml 。 基本上我想要类似于logback配置的ServiceLoader

也许有一种方法可以在Logback中找到我所缺少的?

更新: 显然与我想要的完全一样,而且非常类似于Java服务器。

时间: 原作者:

这个特性被合并到logback代码的源代码中。 请参见 https://github.com/qos-ch/logback/pull/181

原作者:

这是一个绝对的黑客,但我认为它会对你的情况有所帮助:

在文件 logback.xml, 中将扫描设置为短间隔: http://logback.qos.ch/manual/configuration.html#autoScan

然后让你的代码修改logback文件,设置适当的级别。

Logback将扫描xml文件并应用更改。

原作者:
...