http://ASP.NET Core視覺化日誌元件使用

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

控制檯輸出:

ASP.NET Core視覺化日誌元件使用

好了,日誌元件已經新增成功,進入下一步。

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

就是日誌管理面板,直接錄一個小影片演示下吧: