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多條,足以應付大型項目.