時不時地,我遇到的代碼看起來像這樣運行:Java日誌記錄:它是日誌還是日誌記錄器?
private final Logger log = LoggerFactory.getLogger(MyClass.class);
讓我們假設這是一個slf4j
記錄器對象。如果使用Apache Commons Logging,即使該班級將被稱爲Log
而不是Logger
。
我一直在考慮這個問題了一點,並列出了以下兩個選項的幾個優點/缺點:
理由使用logger
代替log
- 目的的:它是日誌的作者,而不是日誌本身。
- 誤導性:
log
是一個天生具有誤導性的名稱,因爲日誌無法讀取。 使用
- 方法調用可讀性
log
代替
logger
原因:在記錄器可用的方法通常被命名爲info()
,error()
等等。因此,log.error()
成爲在「記錄此錯誤」出聲所講的命令類似的東西,而logger.error()
看起來更像是它會報告上記錄器本身的錯誤,根本談不上什麼logger.debug()
聽起來像。
所以,現在的問題。有沒有第三種方法來命名那個麻煩的記錄器?你在項目中使用什麼,爲什麼?
'log'只有一半長,這對我來說是一個殺手鐗。無論如何,絕對不是一個有害的問題。 –
不是一個建設性的問題。 – dharam
其實我認爲這是一個公平的問題,關於編碼風格。我的意見:使用'log',如果是靜態的'LOG'。 – vikingsteve