SLF4J Java日志设计

SLF4J Java日志设计,java,logging,slf4j,Java,Logging,Slf4j,我开始使用SLF4J进行日志记录,我首先想到的是下面的一段代码 public class MyClass { private static final logger = org.slf4j.LoggerFactory.getLogger(MyClass.class) } 使用类作为参数来获取记录器实例的设计原则或逻辑是什么?结果是,该记录器生成的每个日志语句都包含类的名称。您要对以下对象执行此操作: 在输出中标识该日志消息的源 有效地过滤这些消息。您可以按类和/或包含的包启用或禁用消息。

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

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

使用类作为参数来获取记录器实例的设计原则或逻辑是什么?

结果是,该记录器生成的每个日志语句都包含类的名称。您要对以下对象执行此操作:

  • 在输出中标识该日志消息的源
  • 有效地过滤这些消息。您可以按类和/或包含的包启用或禁用消息。e、 g.您可能希望禁用所有DAO包消息(无论出于何种原因)
  • 以上是日志记录中非常常见的模式。但是请注意,您不必只提供一个类,而是可以提供自己的字符串,从而自己对消息进行任意分类。

    这只是一个缩写。 请参阅以了解,有一个
    构造函数
    也接受
    字符串
    参数

    基本上,当使用logger时,您几乎总是使用它声明的类的名称来命名logger