【问题标题】:Java slf4j implementation: logback vs log4jJava slf4j 实现:logback 与 log4j
【发布时间】:2023-04-09 06:22:01
【问题描述】:

我收到了另一个开发人员完成的项目(我现在无法联系到他)。在那个项目中,slf4j 用于日志记录。但我看到 log4j-1.2.17.jarlogback-access-1.0.9.jar,logback-classic-1.0.9.jar,logback-core-1.0.9。 jar 在类路径中。 log4j.propertieslogback.xml 文件也在资源中。现在我很困惑实际使用了哪个实现。任何人都可以提出任何建议吗?

更新

classpath中还有slf4j-api-1.7.2.jarslf4j-log4j12-1.7.2.jar

【问题讨论】:

  • 我相信要让 log4j 工作,你需要 log4j 桥 (slf4j.org/legacy.html)。桥也存在吗? (注意:我可能错了,我只使用过 slf4j 的 logback)最后,这有关系吗?如果两种配置做的事情大致相同,您应该能够简单地删除 log4j,因为它肯定会使用 logback。

标签: java log4j slf4j logback


【解决方案1】:

如果您在类路径中没有看到slf4j-api.jar,则如下所述,SLF4J 将默认为无操作实现。似乎其他开发人员在部署时使用 SLF4J 插入 log4j-1.2.17.jar(log4j) 以及 logback-access-1.0.9.jarlogback-classic-1.0.9.jarlogback-core-1.0.9.jar(logback)时间。

Java 的简单日志外观 (SLF4J) 用作各种日志框架(e.g. java.util.logginglogbacklog4j)的简单外观或抽象,允许最终用户插入部署时所需的日志框架。

在开始使用 SLF4J 之前,我们强烈建议您阅读两页的 SLF4J user manual

请注意,启用 SLF4J 的库意味着仅添加一个强制依赖项,即 slf4j-api.jar如果在类路径上没有找到绑定,那么 SL​​F4J 将默认为无操作实现。

- 来自SLF4J - Simple Logging Facade for Java

【讨论】:

    猜你喜欢
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多