2011-10-12 231 views
-1

可能重複:
Is there a need to do a if(log.isDebugEnabled()) { … } check?爲什麼我們需要編寫log.isDebugEnabled?

我的問題是爲什麼我們需要寫入日誌之前檢查log.isDebugEnabled條件。 在生產環境中,我根本不會給出調試模式。所以只會記錄錯誤。在這種情況下,我覺得這種額外的狀況是一種負擔。任何人都可以向我解釋寫作背後的邏輯。

+0

什麼語言?什麼日誌庫? – geoffspear

回答

1

添加此行使運行時有機會從代碼中完全消除該行。如果日誌級別設置爲非調試級別,運行時可以將所有這些調用作爲優化來移除。如果它知道條件爲總是爲真,則根本不需要該塊。