此文章翻译自 NDC { London } 16-20 January 2017 上, Damian Edwards和David Fowler的演讲,如果翻译不周,请大家指出错误。
Logging
生产环境总是配置一个Logger(比如: Serilog, Application Insights)
日志作为诊断应用程序问题的入口
不需要重启应用程序,就能改变日志的级别
在开发环境应该记录尽可能多的日志,但是生产环境出于性能考虑,应该只记录Warning以上的日志
如果不想显示太多的信息,可以选择特定的Category
比如只想调试SQL语句,可以只记录Category为Microsoft.EntityFrameworkCore.*的日志。
ASP.NET按照如下方式记录日志:
ANCM(IIS): 将不能启动进程的错误记录到EventLog
ANCM是指ASP.NET Core Module。按照Damian的说法,当IIS进程无法启动的时候是很崩溃的,此时可以从Windows Event Log中查看具体的错误。
ANCM also uses regular IIS failed request tracing
其他未处理的异常将由为logger providers提供的logger记录