此文章翻譯自 NDC { London } 16-20 January 2017 上, Damian Edwards和David Fowler的演講,如果翻譯不周,請(qǐng)大家指出錯(cuò)誤。

Logging

  1. 生產(chǎn)環(huán)境總是配置一個(gè)Logger(比如: Serilog, Application Insights)

  2. 日志作為診斷應(yīng)用程序問(wèn)題的入口

  3. 不需要重啟應(yīng)用程序,就能改變?nèi)罩镜募?jí)別

    在開(kāi)發(fā)環(huán)境應(yīng)該記錄盡可能多的日志,但是生產(chǎn)環(huán)境出于性能考慮,應(yīng)該只記錄Warning以上的日志

  4. 如果不想顯示太多的信息,可以選擇特定的Category

    比如只想調(diào)試SQL語(yǔ)句,可以只記錄Category為Microsoft.EntityFrameworkCore.*的日志。

  5. 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記錄

Configuration & Options

    網(wǎng)友評(píng)論