【问题标题】:SLF4J Java Logging DesignSLF4J Java 日志设计
【发布时间】:2012-06-05 10:03:22
【问题描述】:

我开始使用 SLF4J 进行日志记录,我首先想到的是以下代码

public class MyClass
{
   private static final logger = org.slf4j.LoggerFactory.getLogger(MyClass.class)
}

使用类作为参数获取logger实例的设计原理或逻辑是什么?

【问题讨论】:

    标签: java logging slf4j


    【解决方案1】:

    这样做的结果是该记录器生成的每个记录语句都包含类的名称。您希望这样做:

    1. 在输出中确定该日志消息的来源
    2. 有效过滤这些消息。您可以按类和/或包含的包启用禁用消息。例如您可能希望禁用所有 DAO 包消息(无论出于何种原因)

    以上是日志记录中非常常见的模式。但是请注意,您不仅需要提供一个类,还可以提供自己的字符串,从而自行对消息进行任意分类。

    【讨论】:

      【解决方案2】:

      这只是一个缩短器。 请参阅javadoc for LoggerFactory 了解,有一个constuctor 也接受String 参数。

      基本上,在使用记录器时,您几乎总是使用声明记录器的类的名称来命名记录器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-21
        • 1970-01-01
        相关资源
        最近更新 更多