此文章翻译自 NDC { London } 16-20 January 2017 上, Damian Edwards和David Fowler的演讲,如果翻译不周,请大家指出错误。

Logging

  1. 生产环境总是配置一个Logger(比如: Serilog, Application Insights)

  2. 日志作为诊断应用程序问题的入口

  3. 不需要重启应用程序,就能改变日志的级别

    在开发环境应该记录尽可能多的日志,但是生产环境出于性能考虑,应该只记录Warning以上的日志

  4. 如果不想显示太多的信息,可以选择特定的Category

    比如只想调试SQL语句,可以只记录Category为Microsoft.EntityFrameworkCore.*的日志。

  5. 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记录

Configuration & Options

    网友评论