如何设置共享资源日志记录以使用 logback?

我们使用slf4j + logback,碰巧有一些使用共享资源日志记录的第三方库。如何将其设置为使用日志备份?


答案 1

答案是不要使用 commons-logging.jar,因为 SLF4J 被设计成可以做 commons-logging 能做得更好的事情。正如@MahdeTo所指的,你需要使用jcl-over-slf4j.jar。

查看slf4j网站上关于从共享资源日志记录迁移的文档。


答案 2

我也遇到过这个问题,发现确实可以解决问题,我不明白为什么不能自动使用,既然是日志接口和正在实现,它们应该自动集成,直到我发现这个jcl-over-slf4j.jarcommons-logginglogbackcommons-logginglogback

Apache Commons Logging (JCL) 提供了一个 Log 接口,该接口既轻量级又是其他日志记录工具包的独立抽象。它为中间件/工具开发人员提供了一个简单的日志记录抽象,允许用户(应用程序开发人员)插入特定的日志记录实现。

JCL为其他日志记录工具提供了精简包装日志实现,包括Log4J,Avalon LogKit(Avalon Framework的日志记录基础架构),JDK 1.4以及用于1.4之前的系统的JDK 1.4日志记录API(JSR-47)的实现。该接口紧密映射到Log4J和LogKit。

显然,并非所有的日志接口都可以与日志实现很好地集成,这意味着,如果您真的想使用,这是您现在唯一的解决方案,因为只有支持。logbackjcl-over-slf4j.jarJCLLog4J, Logkit, JDK 1.4


推荐