2016-05-12 18 views
0

在Java代碼中,我看到這樣的記錄儀的兩個實例,爲什麼在這個java類中使用兩個記錄器實例?

private static final Logger error = LoggerFactory.getLogger("log.error"); 
private static final Logger warn = LoggerFactory.getLogger("log.warn"); 

警告實例調用警告方法,

warn.warn() 

和錯誤實例調用,

error.error() 
error.isErrorEnabled() 

有什麼用使用兩個實例? 爲什麼不使用單個實例?

+0

我的猜測是因爲一個實例無法實現的潛在行爲的一些差異。例如。寫入不同的輸出源(文件,郵件程序,日誌集中器等)。很難說,沒有更多的上下文 – lab419

+0

@ lab419所有這些都可以通過一個實例來實現,除非你使用了一些家庭日誌記錄框架。 – Kayaman

回答

2

代碼的原始作者可能希望將警告和錯誤指向他們自己的文件(或其他目的地),但不知道如何通過配置來完成。

通常情況下,您只需要一個記錄器,然後根據您使用的是warn()還是error(),然後可以配置其執行不同的操作。

沒有很好的理由在一個類中使用多個記錄器。

相關問題