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