我只是不喜欢 Logback 的 XML 或 Groovy 配置,更喜欢用 Java 进行配置(这也是因为我将在初始化后的不同时间在运行时更改配置)。
似乎对 Logback 进行 Java 配置的唯一方法是进行某种初始化劫持根追加器 https://github.com/dropwizard/dropwizard/blob/master/dropwizard-logging/src/main/java/io/dropwizard/logging/LoggingFactory.java或者具有告诉 logback 不要使用默认配置的自定义系统属性(这对于单元测试和部署来说相当烦人)。
我更喜欢的是类似logback.xml
:
<configuration javaConfig="com.myco.LogBackConfig" />
其中 LogbackConfig 要么有一些 logback 调用的已建立的静态方法,要么只是重新实例化一个 Java bean。
也就是说,我想要一个默认的类路径资源,它会告诉 logback 使用 Java 而不是 groovy/xml。基本上我想要类似的东西Java服务加载器 http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html用于登录配置。
也许我缺少一种在 Logback 中执行此操作的方法?
UPDATE:显然Log4j2(新的 log4j)正是我想要的 http://logging.apache.org/log4j/2.x/manual/extending.html与Java ServiceLoader非常相似。
该功能刚刚合并到 logback 的源代码中。看https://github.com/qos-ch/logback/pull/181 https://github.com/qos-ch/logback/pull/181
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)