我是否需要用于log4j的SLF4J绑定和适配器?

时间:2014-09-03 02:13:21

标签: java logging log4j slf4j logback

我对log4j2-slf4j bindinglog4j2-slf4j adapter之间的区别感到困惑。

有人能用简单的英语解释差异是什么吗?我提出的链接说适配器"路由"到SLF4J和绑定"允许SLF4J使用Log4j"但我并不真正理解这意味着什么。另外,我需要两者,还是只需要其中一种?

1 个答案:

答案 0 :(得分:1)

您必须只使用一个。如果你把两者都放在一起,你就会造成无休止的循环。以下可能会给你一个想法:

  • Log4j 2 SLF4J Binding

    如果你的应用程序中有代码如下:

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

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

    Log4j 2 SLF4J Binding

  • 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 2 to SLF4J Adapter