ASP.NET Core視覺化日誌元件使用
前言
今天站長推薦一款日誌視覺化元件LogDashboard
,可以不用安裝第三方程式,只需要在專案中安裝相應的Nuget包,新增數行程式碼,就可以實現擁有帶Web頁面的日誌管理皮膚,十分nice哦。
下面是官方介紹:
官方文件地址:
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
能極大提高你平時工作中的問題排查速度。
步驟:
- 建立一個ASP.NET Core Web API專案
- 新增
Serilog
日誌元件 - 新增
LogDashboard
- 視覺化日誌演示
本文實戰開始
1. 建立一個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.UseStartupStartup>();
});
}
注意程式碼中輸出日誌的格式,日誌分隔符使用 “||”,這是LogDashboard
元件的建議,當然你可以修改,詳細配置見LogDashboard
文件。
2.3 驗證日誌元件安裝成功
在Startup.cs中新增測試日誌
public void ConfigureServices(IServiceCollection services)
{
Log.Information("ConfigureServices");
Log.Error("測試Serilog新增異常日誌");
Log.Fatal("測試Serilog新增嚴重日誌");
// ....
}
執行專案:
輸出目錄下產生日誌檔案:LogDashboardDemobinDebugnet6.0LogsDotnet920210417.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: "" || ||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:UsersAdministratorDesktopLogDashboardDemo" || ||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. 視覺化日誌演示
執行專案,瀏覽器位址列輸入:/logdashboard
就是日誌管理皮膚,直接錄一個小影片演示
作者:Dotnet9個人部落格
原文出處:https://www.cnblogs.com/Dotnet9-com/p/14672049.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4479/viewspace-2797797/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASP.NET Core之OpenTelemetry、SEQ構建視覺化日誌ASP.NET視覺化
- .NET Core + ELK搭建視覺化日誌分析平臺(上)視覺化
- ASP.NET Core之Serilog、SEQ、ILogger構建視覺化日誌ASP.NET視覺化
- .NET 6 使用 LogDashboard 視覺化日誌視覺化
- 玩轉ASP.NET Core中的日誌元件ASP.NET元件
- 視覺化zookeeper的事務日誌視覺化
- 【ASP.NET Core】使用SignalR推送伺服器日誌ASP.NETSignalR伺服器
- asp.net core使用serilog將日誌推送到騰訊雲日誌服務ASP.NET
- 微服務架構 | 10.3 使用 Zipkin 視覺化日誌追蹤微服務架構視覺化
- Hyperf日誌檢視元件元件
- [譯]ASP.NET Core 2.0 檢視元件ASP.NET元件
- 在ASP.NET Core中建立自定義端點視覺化圖ASP.NET視覺化
- 理解ASP.NET Core - 日誌(Logging)ASP.NET
- 開源的資料視覺化平臺 Kibana 日誌視覺化 mac 安裝筆記視覺化Mac筆記
- 【EF core】模型視覺化 EF Core Power Tools 【工具】模型視覺化
- 還在用命令列看日誌?快用Kibana吧,視覺化日誌分析YYDS!命令列視覺化
- 使用 .NET Core 的日誌記錄
- 同步伺服器日誌到 SeaTable,讓日誌更好的視覺化和協同處理伺服器視覺化
- 視覺化搭建 - 容器元件設計視覺化元件
- 視覺化搭建 - 元件值校驗視覺化元件
- .NET Core使用Nlog記錄日誌
- 一套標準的ASP.NET Core容器化應用日誌收集分析方案ASP.NET應用日誌
- ASP.NET Core 2.2 基礎知識(八)【日誌記錄】ASP.NET
- ASP.NET Core知識之RabbitMQ元件使用(二)ASP.NETMQ元件
- service mesh istio微服務實驗之監控日誌與視覺化微服務視覺化
- (精華)2020年7月20日 ASP.NET Core serilog日誌框架的使用ASP.NET框架
- logback日誌元件使用案例元件
- .NET Core 基於Quartz的UI視覺化操作元件 GZY.Quartz.MUI 簡介quartzUI視覺化元件
- 視覺化搭建 - 元件值與聯動視覺化元件
- (精華)2020年7月20日 ASP.NET Core log4.net日誌框架的使用ASP.NET框架
- .Net Core中使用DiagnosticSource進行日誌記錄
- 開發日誌:Kylin麒麟作業系統部署ASP.NET CORE作業系統ASP.NET
- Oracle 使用logmnr檢視日誌Oracle
- ASP.NET Core ----ASP.NET Core中使用Code FirstASP.NET
- 【視訊】使用ASP.NET Core開發GraphQL服務ASP.NET
- .NET Core開發日誌——Startup
- .NET Core開發日誌——HttpClientFactoryHTTPclient
- 學習ASP.NET Core(10)-全域性日誌與xUnit系統測試ASP.NET