日志架構必要的包:
1、Microsoft.Extensions.Logging
2、Microsoft.Extensions.Logging.Console
3、Microsoft.Extensions.Logging.Debug
4、Microsoft.Extensions.Logging.TraceSource
5、Microsoft.Extensions.Configuration.Json
代碼通過一個控制台程式,展示從讀取配置到整個日志的記錄器的構造和日志記錄的過程
首先從檔案讀取配置
接着構造容器,注入對象
AddLogging 源碼
配置檔案,appsettings.json
Logging 裡面定義了 Log 的級别,Key 代表 Log 的名稱,Value 代表 Logger 的級别
Console 是指針對 Console 的輸出提供程式配置的日志級别
下面看一下日志級别的定義,按照嚴重程度從低到高
也就是說我們可以指定日志輸出的最低級别
接着 BuildServiceProvider,從容器裡面擷取 ILoggerFactory
ILoggerFactory 的定義
擷取到 ILoggerFactory 之後就可以建立日志記錄器
因為配置檔案中 alogger 的級别是 Trace
是以這三行都會被列印出來
啟動程式,輸出如下:
方括号的内容是 EventID,也就是針對每一個記錄的位置事件,可以為它配置設定一個事件 ID,代碼中在 LogDebug 的時候定義了一個事件 ID 是2001
假如說把 alogger 的日志級别調整成 Information
那麼 Debug 級别的資訊沒有輸出的
GitHub源碼連結:
https://github.com/MINGSON666/Personal-Learning-Library/tree/main/DotNetCoreDevelopmentActualCombat/LoggingSimpleDemo

本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協定進行許可。
歡迎轉載、使用、重新釋出,但務必保留文章署名 鄭子銘 (包含連結: http://www.cnblogs.com/MingsonZheng/ ),不得用于商業目的,基于本文修改後的作品務必以相同的許可釋出。
如有任何疑問,請與我聯系 ([email protected]) 。