ASP.NET Core ビジュアルログコンポーネントの使用

ASP.NET Core ビジュアルログコンポーネントの使用

本日、サイト管理者がおすすめするログ可視化コンポーネント「LogDashboard」をご紹介します。サードパーティのプロセスをインストールする必要はなく、プロジェクトに対応する**NuGet**パッケージをインストールし、数行のコードを追加するだけで、Webページ付きのログ管理パネルを実装でき、非常に素晴らしいです。

最終更新 2021/04/17 20:41
沙漠尽头的狼
読了目安 3 分
カテゴリ
ASP.NET Core
タグ
.NET C# ASP.NET Core UI設計 NuGet

視覚的ログコンポーネント:LogDashboard:

視覚的ログコンポーネント:LogDashboard

はじめに

今日は、ログ視覚化コンポーネントLogDashboardを紹介します。サードパーティのプロセスをインストールする必要はなく、プロジェクトに対応するNuGetパッケージをインストールし、数行のコードを追加するだけで、Webページを持つログ管理パネルを実現できます。とても良いですよ。

以下は公式の紹介です:

公式ドキュメント: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を使用することで、普段の作業における問題のトラブルシューティング速度が大幅に向上するでしょう。

手順:

  1. ASP.NET Core Web API プロジェクトを作成
  2. Serilogログコンポーネントを追加
  3. LogDashboardを追加
  4. 視覚的ログのデモ

ここから実践開始

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.UseStartup<Startup>();
      });
}

コード内のログ出力フォーマットに注意してください。ログセパレータは「||」を使用しています。これは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 LogDashboard

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 と入力すると、ログ管理パネルが表示されます。短い動画でデモをご覧ください:

さらに探索

関連読書

その他の記事