【ASP.NET Core Web】Mainでログの設定をする

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【ASP.NET Core Web】Mainでログの設定をする

2024-1-17 | ,

.NET 7のASP.NET Core WebアプリのプロジェクトでProgram.csのメソッドMainの中でログの設定したい!

概要

今回の記事では、.NET 7のASP.NET Core WebアプリのプロジェクトでProgram.csのメソッドMainの中でログの設定をする手順を掲載する。

仕様書

環境

  • .NET 7.0

手順書

.NET 7で新しくプロジェクトを作るとStartup.csは作られなくなったり、クラスの構成が変わったたり、Program.csMainメソッドにサーバーの起動時の設定を書くように変わったみたい。

ログの設定するやり方の違いを旧新で比較してみる。

まずは従来の例。

public class Program
{
    ...

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureLogging(logging =>
            {
                logging.ClearProviders();
                logging.AddConsole();
                logging.AddDebug();
            });
}

次に新しい例。

public class Program
{
    public static void Main(string[] args)
    {
        var builder = WebApplication.CreateBuilder(args);

        builder.Logging.ClearProviders();
        builder.Logging.AddConsole();
        builder.Logging.AddDebug();

        ...

        app.Run();
    }
}

builder.LoggingからAddConsoleなどのログ関係の設定のメソッドを呼び出せるようになった。

まとめ(感想文)

新しい方がスッキリしてて良いと思う今日この頃。