我很好奇,爲什麼我看到有人寫日誌log4net的如下代碼:爲什麼在log4net中調用IsDebugEnabled?
if (_logger.IsDebugEnabled)
{
_logger.Debug("Some debug text");
}
我已經通過拆裝log4net的走了,並呼籲調試使另一個調用相同的代碼,看是否它在實際記錄之前啓用,因此IsDebugEnabled調用是不必要的,實際上是重複的代碼。
有人有這樣的理由嗎?也許舊版本以前是必需的舊模式,但不再是?或者有沒有合法的理由呢?或者,也許人們不知道他們不需要這樣做?
這種行爲是有其他級別(信息,錯誤,警告,最好的,等等),以及。
感謝你們三個人 - 看起來你們幾乎都在同一時間響起,但我認爲布賴恩是第一個。我沒有真正想過一個昂貴的消息 - 我通常做的任何日誌記錄都非常簡單,通常只是一個字符串。但是,如果你有真正的代碼啓動,就提前停止它,這絕對有意義。謝謝您的幫助。 – 2010-12-08 02:50:39
有關IsDebug和性能問題,請參閱http://goo.gl/kMHNQ – sduplooy 2013-04-17 05:14:25