<b>      "schema": "Logging",</b>
<b>      "tableName": "SeriLogs",</b>
<b>      "restrictedToMinimumLevel": "Warning"</b>
<b>    }</b>
  },
  "RebuildDataBase": false,
<b>  "ApplicationName": "AutoLot.Api - Prod",</b>
  "ConnectionStrings": {
    "AutoLot": "It's a secret"
  }
}
 Обновление Program.cs
 Добавьте в файлы Program.cs в проектах AutoLot.Api и AutoLot.Mvc следующий оператор using:
using AutoLot.Services.Logging;
Модифицируйте метод CreateHostBuilder() в обоих проектах, как показано ниже:
public static IHostBuilder CreateHostBuilder(string[] args) =>
  Host.CreateDefaultBuilder(args)
      .ConfigureWebHostDefaults(webBuilder =>
      {
        webBuilder.UseStartup<Startup>();
       }).ConfigureSerilog();
 Обновление Startup.cs
 Добавьте в файлы Startup.cs в проектах AutoLot.Api и AutoLot.Mvc следующий оператор using:
using AutoLot.Services.Logging;
Затем необходимо поместить новые интерфейсы ведения журнала в контейнер DI. Добавьте в метод ConfigureServices() в обоих проектах такой код:
services.AddScoped(typeof(IAppLogging<>), typeof(AppLogging<>));
 Обновление контроллера
 Следующее обновление связано с заменой ссылок на ILogger ссылками на IAppLogging. Начните с класса WeatherForecastController в проекте AutoLot.Api. Добавьте в класс следующий оператор using:
using AutoLot.Services.Logging;
Далее измените ILogger<T> на IAppLogging<T>:
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
 (window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})
{
  ...
  private readonly <b>IAppLogging</b><WeatherForecastController> _logger;
  public WeatherForecastController(<b>IAppLogging</b><WeatherForecastController> logger)
  {
    _logger = logger;
  }
  ...
}
Теперь модифицируйте HomeController в проекте AutoLot.Mvc. Добавьте в класс следующий оператор using:
using AutoLot.Services.Logging;
Измените ILogger<T> на IAppLogging<T>:
[Route("[controller]/[action]")]
public class HomeController : Controller
{
  private readonly <b>IAppLogging</b><HomeController> _logger;
  public HomeController(<b>IAppLogging</b><HomeController> logger)
  {
    _logger = logger;
  }
  ...
}
После этого регистрация в журнале выполняется в каждом контроллере простым обращением к средству ведения журнала, например:
// WeatherForecastController.cs (AutoLot.Api)
[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
<b>  _logger.LogAppWarning("This is a test");</b>
  ...
}
// HomeController.cs (AutoLot.Mvc)
[Route("/")]
[Route("/[controller]")]
[Route("/[controller]/[action]")]
[HttpGet]
public IActionResult Index()
{
<b>  _logger.LogAppWarning("This is a test");</b>
  return View();
}
 Испытание инфраструктуры ведения журнала
 Имея установленную инфраструктуру Serilog, самое время протестировать ведение журналов для приложений. Если вы используете Visual Studio, тогда укажите AutoLot.Mvc в качестве стартового проекта (щелкните правой кнопкой мыши на имени проекта в окне Solution Explorer, выберите в контекстном меню пункт Set as Startup Project (Установить как стартовый проект) и щелкните на кнопке запуска с зеленой стрелкой или нажмите <F5>). В случае работы в VS Code откройте окно терминала (<Ctrl+'>), перейдите в каталог AutoLot.Mvc и введите команду dotnet run.