Как использовать Serilog в ASP.NET Core 3.1: пошаговое руководство

Чтобы использовать Serilog в ASP.NET Core 3.1, вы можете выполнить следующие действия:

Шаг 1. Установите необходимые пакеты NuGet:

  • Серилог
  • Серилог.AspNetCore
  • Serilog.Sinks.Console (необязательно, для входа в консоль)
  • Serilog.Sinks.File (необязательно, для записи в файл)
  • Serilog.Settings.Configuration (необязательно, для настройки Serilog через appsettings.json)

Шаг 2. Настройте Serilog в своем приложении:

  • В файл Program.csдобавьте следующий код, чтобы настроить Serilog в качестве средства ведения журнала:
     public static IHostBuilder CreateHostBuilder(string[] args) =>
         Host.CreateDefaultBuilder(args)
             .UseSerilog((hostingContext, loggerConfiguration) =>
             {
                 loggerConfiguration
                     .ReadFrom.Configuration(hostingContext.Configuration)
                     .Enrich.FromLogContext()
                     .WriteTo.Console(); // or WriteTo.File() for logging to a file
             })
             .ConfigureWebHostDefaults(webBuilder =>
             {
                 webBuilder.UseStartup<Startup>();
             });

Шаг 3. Используйте Serilog в своем приложении:

  • В файл Startup.csдобавьте следующий код для настройки ведения журнала Serilog в методе ConfigureServices:
     services.AddLogging(builder =>
     {
         builder.ClearProviders();
         builder.AddSerilog();
     });

Шаг 4. Настройте конфигурацию Serilog (необязательно):

  • Создайте файл appsettings.jsonи добавьте конфигурацию Serilog. Например:
     {
       "Serilog": {
         "MinimumLevel": {
           "Default": "Information",
           "Override": {
             "Microsoft": "Warning",
             "System": "Warning"
           }
         },
         "WriteTo": [
           {
             "Name": "Console"
           },
           {
             "Name": "File",
             "Args": {
               "path": "log.txt",
               "rollingInterval": "Day"
             }
           }
         ]
       }
     }

Вот и все! Теперь вы настроили и использовали Serilog в своем приложении ASP.NET Core 3.1.