我只是不喜欢Logback的XML或Groovy配置,并且更喜欢用Java进行配置(这也是因为我将在初始化后的不同时间在运行时更改配置).
似乎进行Logback的Java配置的唯一方法是进行某种初始化,即劫持根appender或拥有自定义系统属性,告诉logback不使用默认配置(这对单元测试和部署来说相当烦人).
我更喜欢的是logback.xml
:
<configuration javaConfig="com.myco.LogBackConfig" />
Run Code Online (Sandbox Code Playgroud)
其中LogbackConfig有一些已建立的静态方法可以进行logback调用,或者它只是重新实例化一个Java bean.
这是我想要一个默认的类路径资源,它将告诉logback使用Java而不是groovy/xml.基本上我想要一些类似于Java ServiceLoader的logback配置.
也许有一种方法可以在Logback中做到这一点,我错过了?
更新: 显然Log4j2(新的log4j)完全符合我的要求,与Java ServiceLoader非常相似.