2011-01-12 29 views

回答

6

根據文檔:

利用lambda表達式中,ILog的接口 提供了一個新的&安全的方式來寫日誌 聲明

log.Debug(m=>m("value= {0}", obj.Value)); 

這保證,整個表達式僅在 LogLevel.Debug已啓用且因此 您就不用寫

if (log.IsDebugEnabled) 
{ 
    log.Debug("value={0}", obj.Value); 
} 

避免這種開銷。

因此,您的quesetion中的第二個選項被認爲是最佳實踐。