ASP.NET Core視覺化日誌元件使用
http://ASP.NET Core視覺化日誌元件使用
前言
今天站長推薦一款日誌視覺化元件
LogDashboard
,可以不用安裝第三方程序,只需要在專案中安裝相應的
Nuget
包,新增數行程式碼,就可以實現擁有帶Web頁面的日誌管理面板,十分nice哦。
下面是官方介紹:
官方文件地址:
https://
doc。logdashboard。net/
❝
LogDashboard
是在github上開源的aspnetcore專案, 它旨在幫助開發人員排查專案執行中出現錯誤時快速檢視日誌排查問題
通常我們會在專案中使用nlog、log4net等日誌元件,它們用於記錄日誌的功能非常強大和完整,常見情況會將日誌寫到txt或資料庫中, 但透過記事本和sql檢視日誌並不簡單方便。
LogDashboard
提供了一個可以簡單快速檢視日誌的面板。
LogDashboard
適用於aspnetcore 2。x -
aspnetcore3。x
專案, 採用aspnetcore中介軟體技術開發。 輕量快速
OK,本文帶大家從0建立一個
ASP。NET Core Web API
新專案,然後新增日誌元件
Serilog
,最後搭配使用
LogDashboard
完成此專案。
相信使用
LogDashboard
能極大提高你平時工作中的問題排查速度。
步驟:
建立一個
http://
ASP。NET
Core Web API專案
新增
Serilog
日誌元件
新增
LogDashboard
視覺化日誌演示
本文實戰開始
1. 建立一個http://ASP.NET Core Web API專案
這一步很簡單,使用VS 2019,建立一個
ASP。NET Core Web API
專案,命名為
LogDashboardDemo
。
2. 新增 Serilog 日誌元件
2.1 Nuget 安裝 Serilog 包
Install-Package Serilog。AspNetCore
2.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
});
}
注意程式碼中輸出日誌的格式,
日誌分隔符
使用
"||"
,這是
LogDashboard
元件的建議,當然你可以修改,詳細配置見
LogDashboard
文件。
2.3 驗證日誌元件安裝成功
在
Startup.cs
中新增測試日誌
public void ConfigureServices(IServiceCollection services)
{
Log。Information(“ConfigureServices”);
Log。Error(“測試Serilog新增異常日誌”);
Log。Fatal(“測試Serilog新增嚴重日誌”);
// 。。。。
}
執行專案:
輸出目錄下產生日誌檔案:\LogDashboardDemo\bin\Debug\net6。0\Logs\Dotnet920210417。log
08:37:27。884 +08:00 || Information || || ConfigureServices || ||end
08:37:27。964 +08:00 || Error || || 測試Serilog新增異常日誌 || ||end
08:37:27。965 +08:00 || Fatal || || 測試Serilog新增嚴重日誌 || ||end
08:37:28。154 +08:00 || Information || || Configure || ||end
08:37:28。423 +08:00 || Information || Microsoft。Hosting。Lifetime || Now listening on: “http://localhost:5000” || ||end
08:37:28。427 +08:00 || Information || Microsoft。Hosting。Lifetime || Application started。 Press Ctrl+C to shut down。 || ||end
08:37:28。427 +08:00 || Information || Microsoft。Hosting。Lifetime || Hosting environment: “Development” || ||end
08:37:28。428 +08:00 || Information || Microsoft。Hosting。Lifetime || Content root path: “C:\Users\Administrator\Desktop\LogDashboardDemo” || ||end
控制檯輸出:
好了,日誌元件已經新增成功,進入下一步。
3. 新增 LogDashboard
3.1 Nuget安裝 LogDashboard 包
Install-Package Serilog。AspNetCore
3.2 配置 LogDashboard
這一步很簡單,真的很簡單,開啟
Startup.cs
,新增如下程式碼:
public void ConfigureServices(IServiceCollection services)
{
services。AddLogDashboard();
// 。。。
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app。UseLogDashboard();
// 。。。
}
這一步就完成了,使用
LogDashboard
就是這麼簡單。
4. 視覺化日誌演示
執行專案,瀏覽器位址列輸入:
http://localhost:5000/logdashboard
就是日誌管理面板,直接錄一個小影片演示下吧: