【ASP.NET Core Web】Mainでログの設定をする
2024-1-17 | ASP.NET Core Web, C#
.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.cs
のMain
メソッドにサーバーの起動時の設定を書くように変わったみたい。
ログの設定するやり方の違いを旧新で比較してみる。
まずは従来の例。
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
などのログ関係の設定のメソッドを呼び出せるようになった。
まとめ(感想文)
新しい方がスッキリしてて良いと思う今日この頃。