我正在编写一个Java应用程序,它将使用SLF4J来处理使用JUL(Java Utils Logging)的运行时绑定进行日志记录。因此我的类路径将有slf4j-api-1.6.4.jar
以及slf4j-jdk14-1.6.4.jar
。SLF4J桥接所需的配置文件
JUL可以通过logging.properties
配置,所以我也需要在我的类路径中。
为了确保所有的第三方的依赖登录到同一JUL的配置,我就准备把下面所有的桥梁我的类路径中:
jcl-over-slf4j-1.6.4.jar
log4j-over-slf4j-1.6.4.jar
JCL通过commons-logging.properties
进行配置,Log4J通过log4j.properties
进行配置。
我的问题:我是否需要在我的类路径中放置commons-logging.properties
和log4j.properties
,或者因为SLF4J网桥,这是不必要的?
我90%确定我不需要,但需要在这里进行理智检查!我的理论是,这些桥接器将存根替换为正常的JCL/Log4J类,只是盲目地调用SLF4J API调用。
这些SLF4J API调用反过来像我的代码一样,使用它们在运行时绑定的任何实现。由于在我的情况下绑定是JUL,只需要一个logging.properties
文件。
但我不是伐木专家,我宁愿安全也不抱歉。所以我需要这些额外的配置文件,如果是这样,请解释为什么我可以更好地了解SLF4J的工作原理!提前致谢!
我看到第一次有人提到执法插件。对于非常大的项目和维护单个日志记录实施来说,这是必须的。 – alan7678 2016-01-28 17:34:15