2012-06-05 91 views
4

我開始使用SLF4J用於記錄和罷工給我的第一件事就是下面這段代碼SLF4J Java日誌設計

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

什麼是使用類作爲參數的設計原理或邏輯獲取記錄器的實例?

回答

8

這樣做的結果是,由該記錄儀生成的每個記錄語句包含類的名稱。你想這樣做是爲了:

  1. 對這些消息
  2. 過濾器有效地識別在輸出日誌消息的來源。您可以通過類和/或包含的包啓用禁用消息。例如您可能希望禁用所有DAO軟件包消息(無論出於何種原因)

以上是日誌記錄中非常常見的模式。但請注意,您不僅需要提供一個類,而且可以提供自己的字符串,從而可以自己對消息進行任意分類。

2

這只是一個縮寫。 見javadoc for LoggerFactory找出來,有一個constuctor這需要String參數也。

基本上,使用記錄器時,您幾乎總是使用它聲明的類的名稱來命名記錄器。