【发布时间】:2011-02-06 05:42:31
【问题描述】:
我有这个第 3 方库:
- slf4j-api-1.5.5.jar
- slf4j-jdk14-1.5.5.jar
- jcl-over-slf4j-1.5.5.jar
我想针对这个库编写一些测试并查看它的日志输出,并且我不想再添加任何日志库(没有 log4j 或其他任何东西)。
我知道 SLF4J 和 Common Logging 都是日志抽象,所以我可能需要编写自己的简单具体记录器(或者可能不需要,因为 jcl-over-slf4j 包含 org.apache.commons.logging.impl.SimpleLog?) .如果是这样,我应该实现哪些接口,更重要的是,如何设置 SL4J/Common Logging 以在我的测试中使用我的记录器?我在SLF4J docs that I have to modify the StaticLoggerBinder class 中读到...这真的意味着我实际上必须下载 SLF4J 源代码、修改类并重新编译它吗?
【问题讨论】:
-
常见的日志记录是一种抽象吗?我认为是日志实现。(Spring 使用它)。您不必实现静态绑定器,jcl over slf4j 是您的静态绑定器实现。如果您不提供任何日志记录实现,那么我相信它将默认为 Java Util Logging。(如果您不打包 jcl-over-slf4j 记录器)。
-
文档说“从 SLF4J 版本 1.6.0 开始,如果在类路径上找不到绑定,则 slf4j-api 将默认为丢弃所有日志请求的无操作实现” -- @ 987654322@
-
但是 jul 肯定会在类路径中。它使用 jdk 打包。
标签: java apache-commons slf4j apache-commons-logging