Язык программирования C#9 и платформа .NET5
Шрифт:
connectionString: connectionString,
sqlOptions,
restrictedToMinimumLevel: level,
columnOptions: ColumnOptions);
});
return builder;
}
Теперь, когда все готово, пора заменить стандартное средство ведения журнала на Serilog.
Обновление настроек приложения
Раздел
Logging
appsettings.json
, appsettings.development.json
и appsettings.production
) для проектов AutoLot.Api
и AutoLot.Dal
потребуется модифицировать с учетом новой информации о ведении журнала и добавить имя приложения. Откройте файлы
appsettings.json
и обновите размертку JSON, как показано ниже; удостоверьтесь в том, что применяете корректное имя проекта в узле ApplicationName
и указываете строку подключения, соответствующую вашей системе:
// appsettings.json
{
"Logging": {
"MSSqlServer": {
"schema": "Logging",
"tableName": "SeriLogs",
"restrictedToMinimumLevel": "Warning"
}
},
"ApplicationName": "AutoLot.Api",
"AllowedHosts": "*"
}
// appsettings.development.json
{
"Logging": {
"MSSqlServer": {
"schema": "Logging",
"tableName": "SeriLogs",
"restrictedToMinimumLevel": "Warning"
}
},
"RebuildDataBase": false,
"ApplicationName": "AutoLot.Api - Dev",
"ConnectionStrings": {
"AutoLot": "Server=.,5433;Database=AutoLot;User ID=sa;Password=P@ssw0rd;"
}
}
// appsettings.production.json
{
"Logging": {
"MSSqlServer": {
"schema": "Logging",
"tableName": "SeriLogs",
"restrictedToMinimumLevel": "Warning"
}
},
"RebuildDataBase": false,
"ApplicationName": "AutoLot.Api - Prod",
"ConnectionStrings": {
"AutoLot": "It's a secret"
}
}
Обновление 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
{
...
private readonly IAppLogging<WeatherForecastController> _logger;
Поделиться:
Популярные книги
Дайте поспать! Том III
3. Вечный Сон
Фантастика:
фэнтези
5.00
рейтинг книги
Путь Чести
3. Жизни Архимага
Фантастика:
фэнтези
боевая фантастика
6.43
рейтинг книги
Энфис 2
2. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Сумеречный Стрелок 2
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сводный гад
2. Самбисты
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Книга пяти колец. Том 3
3. Книга пяти колец
Фантастика:
фэнтези
попаданцы
аниме
5.75
рейтинг книги
Диверсант
2. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Ученичество. Книга 2
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Титан империи 3
3. Титан Империи
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Последний попаданец 9
9. Последний попаданец
Фантастика:
юмористическая фантастика
рпг
5.00
рейтинг книги
Измена. Право на сына
4. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Неестественный отбор.Трилогия
Неестественный отбор
Детективы:
триллеры
6.40
рейтинг книги
Хозяйка дома на холме
1. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Гром над Академией. Часть 2
3. Гром над миром
Фантастика:
боевая фантастика
5.50