【问题标题】:Do I need both SLF4J binding and adapter for log4j?我需要 SLF4J 绑定和 log4j 适配器吗?
【发布时间】:2014-10-27 09:57:06
【问题描述】:

我对@9​​87654321@ 和log4j2-slf4j adapter 之间的区别感到困惑。

有人能用简单的英语解释一下有什么区别吗?我提出的链接说适配器“路由”到 SLF4J 和绑定“允许 SLF4J 使用 Log4j”,但我不太明白这意味着什么。另外,我需要两者,还是只需要其中之一?

【问题讨论】:

    标签: java logging log4j slf4j logback


    【解决方案1】:

    您只能使用一个。如果两者都放,就会造成无限循环。下面可能会给你一个思路:

    • Log4j 2 SLF4J 绑定

      如果您的应用程序中有这样的代码:

      // Instance of SLF4J
      private static final org.slf4j.Logger LOG = 
              org.slf4j.LoggerFactory.getLogger(MyClass.class);
      

      而您想使用 Log4J 2 (log4j2.xml),那么您可能需要:

    • Log4j 2 到 SLF4J 适配器

      如果您的应用程序中有这样的代码:

      // Instance of Log4J 2
      private static final org.apache.logging.log4j.Logger LOG = 
              org.apache.logging.log4j.LogManager.getLogger(MyClass.class);
      

      而你想使用 SLF4J(例如logback.xml),那么你可能需要:

    【讨论】:

    • 与其他答案有矛盾吗?另一个答案说,当“您的程序实际上并未使用 Log4J 后端”时,我不想使用绑定,除非您的第一个图表建议在使用 Log4J 后端时使用绑定?
    • 嗨!实际上,另一个答案存在混淆。每个陈述都有它的对立面。
    猜你喜欢
    • 2013-10-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 2023-03-21
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多