此文章翻譯自 NDC { London } 16-20 January 2017 上, Damian Edwards和David Fowler的演講,如果翻譯不周,請大家指出錯誤。
Logging
生產(chǎn)環(huán)境總是配置一個Logger(比如: Serilog, Application Insights)
日志作為診斷應(yīng)用程序問題的入口
不需要重啟應(yīng)用程序,就能改變?nèi)罩镜募墑e
在開發(fā)環(huán)境應(yīng)該記錄盡可能多的日志,但是生產(chǎn)環(huán)境出于性能考慮,應(yīng)該只記錄Warning以上的日志
如果不想顯示太多的信息,可以選擇特定的Category
比如只想調(diào)試SQL語句,可以只記錄Category為Microsoft.EntityFrameworkCore.*的日志。
ASP.NET按照如下方式記錄日志:
ANCM(IIS): 將不能啟動進程的錯誤記錄到EventLog
ANCM是指ASP.NET Core Module。按照Damian的說法,當(dāng)IIS進程無法啟動的時候是很崩潰的,此時可以從Windows Event Log中查看具體的錯誤。
ANCM also uses regular IIS failed request tracing
其他未處理的異常將由為logger providers提供的logger記錄