推薦:.NET Core 可視化日志組件使用


前言
今天站長推薦一款日志可視化組件LogDashboard,可以不用安裝第三方進程,只需要在項目中安裝相應(yīng)的Nuget包,添加數(shù)行代碼,就可以實現(xiàn)擁有帶Web頁面的日志管理面板,十分nice哦。
下面是官方介紹:
官方文檔地址:https://doc.logdashboard.net/
LogDashboard是在github上開源的aspnetcore項目, 它旨在幫助開發(fā)人員排查項目運行中出現(xiàn)錯誤時快速查看日志排查問題通常我們會在項目中使用nlog、log4net等日志組件,它們用于記錄日志的功能非常強大和完整,常見情況會將日志寫到txt或數(shù)據(jù)庫中, 但通過記事本和sql查看日志并不簡單方便.
LogDashboard提供了一個可以簡單快速查看日志的面板.
LogDashboard適用于aspnetcore 2.x - aspnetcore3.x 項目, 采用aspnetcore中間件技術(shù)開發(fā). 輕量快速
OK,本文帶大家從0創(chuàng)建一個ASP.NET Core Web API新項目,然后添加日志組件Serilog,最后搭配使用LogDashboard完成此項目。
相信使用LogDashboard能極大提高你平時工作中的問題排查速度。
步驟:
1.創(chuàng)建一個ASP.NET Core Web API項目2.添加Serilog日志組件3.添加LogDashboard4.可視化日志演示
本文實戰(zhàn)開始
1. 創(chuàng)建一個ASP.NET Core Web API項目
這一步很簡單,使用VS 2019,創(chuàng)建一個ASP.NET Core Web API項目,命名為LogDashboardDemo。
2. 添加 Serilog 日志組件
2.1 Nuget 安裝 Serilog 包
Install-Package Serilog.AspNetCore2.2 Program.cs 中添加 Serilog 配置
public class Program{public static void Main(string[] args){string logOutputTemplate = "{Timestamp:HH:mm:ss.fff zzz} || {Level} || {SourceContext:l} || {Message} || {Exception} ||end {NewLine}";Log.Logger = new LoggerConfiguration().MinimumLevel.Debug().MinimumLevel.Override("Default", LogEventLevel.Information).MinimumLevel.Override("Microsoft", LogEventLevel.Error).MinimumLevel.Override("Microsoft.Hosting.Lifetime", LogEventLevel.Information).Enrich.FromLogContext().WriteTo.Console(theme: Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme.Code).WriteTo.File($"{AppContext.BaseDirectory}Logs/Dotnet9.log", rollingInterval: RollingInterval.Day, outputTemplate: logOutputTemplate).CreateLogger();CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).UseSerilog().ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();});}
注意代碼中輸出日志的格式,日志分隔符使用 **"||"**,這是LogDashboard組件的建議,當(dāng)然你可以修改,詳細配置見LogDashboard文檔。
2.3 驗證日志組件安裝成功
在Startup.cs中添加測試日志
public void ConfigureServices(IServiceCollection services){Log.Information("ConfigureServices");Log.Error("測試Serilog添加異常日志");Log.Fatal("測試Serilog添加嚴(yán)重日志");// ....}
運行項目:
輸出目錄下產(chǎn)生日志文件:\LogDashboardDemo\bin\Debug\net6.0\Logs\Dotnet920210417.log
08:37:27.884 +08:00 || Information || || ConfigureServices || ||end08:37:27.964 +08:00 || Error || || 測試Serilog添加異常日志 || ||end08:37:27.965 +08:00 || Fatal || || 測試Serilog添加嚴(yán)重日志 || ||end08:37:28.154 +08:00 || Information || || Configure || ||end08:37:28.423 +08:00 || Information || Microsoft.Hosting.Lifetime || Now listening on: "http://localhost:5000" || ||end08:37:28.427 +08:00 || Information || Microsoft.Hosting.Lifetime || Application started. Press Ctrl+C to shut down. || ||end08:37:28.427 +08:00 || Information || Microsoft.Hosting.Lifetime || Hosting environment: "Development" || ||end08:37:28.428 +08:00 || Information || Microsoft.Hosting.Lifetime || Content root path: "C:\Users\Administrator\Desktop\LogDashboardDemo" || ||end
控制臺輸出:

好了,日志組件已經(jīng)添加成功,進入下一步。
3. 添加 LogDashboard
3.1 Nuget安裝 LogDashboard 包
Install-Package LogDashboard3.2 配置 LogDashboard
這一步很簡單,真的很簡單,打開Startup.cs,添加如下代碼:
public void ConfigureServices(IServiceCollection services){services.AddLogDashboard();// ...}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseLogDashboard();// ...}
這一步就完成了,使用 LogDashboard就是這么簡單。
4. 可視化日志演示
直接錄一個小視頻吧:
【推薦】.NET Core開發(fā)實戰(zhàn)視頻課程 ★★★
.NET Core實戰(zhàn)項目之CMS 第一章 入門篇-開篇及總體規(guī)劃
【.NET Core微服務(wù)實戰(zhàn)-統(tǒng)一身份認證】開篇及目錄索引
Redis基本使用及百億數(shù)據(jù)量中的使用技巧分享(附視頻地址及觀看指南)
.NET Core中的一個接口多種實現(xiàn)的依賴注入與動態(tài)選擇看這篇就夠了
用abp vNext快速開發(fā)Quartz.NET定時任務(wù)管理界面
在ASP.NET Core中創(chuàng)建基于Quartz.NET托管服務(wù)輕松實現(xiàn)作業(yè)調(diào)度
現(xiàn)身說法:實際業(yè)務(wù)出發(fā)分析百億數(shù)據(jù)量下的多表查詢優(yōu)化
