asp.net core微軟官方為日誌提供了原生支持,有如下實現 Console Debug EventLog AzureAppServices TraceSource EventSource 並且在asp.net core項目模板中預設開啟Comsole,Debug的日誌輸出 在實際生產中僅僅是控 ...
asp.net core微軟官方為日誌提供了原生支持,有如下實現
- Console
- Debug
- EventLog
- AzureAppServices
- TraceSource
- EventSource
並且在asp.net core項目模板中預設開啟Comsole,Debug的日誌輸出
在實際生產中僅僅是控制台的日誌輸出是不夠的,我們希望使用持久化的載體,例如文本txt文件
Huanent.Logging.File是Microsoft.Extensions.Logging的文本文件日誌的實現,使用方法非常簡單,詳細的步驟已經寫在github上,請移步
https://github.com/huanent/Huanent.Logging
配置說明:
你可通過 Install-Package Huanent.Logging.File來安裝拓展,或者在nuget包瀏覽器搜索Huanent.Logging.File 安裝配置完插件後,你的asp.net core程式會將輸出的日誌保存在程式根目錄下的logs文件夾,並以日期劃分文件名 1.安裝Huanent.Logging.File 2.在Program.cs文件中添加
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() 手動高亮 --> .ConfigureLogging(builder => builder.AddFile()) .Build();
3.配置appsettings.json文件,添加File節點
{ "Logging": { "IncludeScopes": false, "Debug": { "LogLevel": { "Default": "Warning" } }, "Console": { "LogLevel": { "Default": "Warning" } }, 手動高亮 --> "File": { 手動高亮 --> "LogLevel": { 手動高亮 --> "Default": "Wanring" //具體輸入級別自行修改,也可添加詳細的分類別輸出 手動高亮 --> } 手動高亮 --> } } }
配置完成
為了降低文件讀寫對性能的影響,插件內部維護了一個消息隊列,對消息日誌進行非同步存儲,在本機低配cpu(surface pro4 酷睿M3)測試每秒寫入量為1000多條,足以應付大型項目.