我正在编写一个 Java 应用程序,它将使用 SLF4J 来处理具有 JUL 运行时绑定(Java Utils Logging)的日志记录。因此,我的类路径将拥有slf4j-api-1.6.4.jar
它slf4j-jdk14-1.6.4.jar
。
JUL 可以通过配置,logging.properties
所以我的类路径中也需要它。
为了确保我的所有 3rd 方依赖项都记录到相同的 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 的工作原理!提前致谢!