Чтение онлайн

на главную - закладки

Жанры

Язык программирования 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

Добавьте

в файлы 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;

Поделиться:
Популярные книги

Измена. Тайный наследник

Лаврова Алиса
1. Тайный наследник
Фантастика:
фэнтези
5.00
рейтинг книги
Измена. Тайный наследник

Инквизитор Тьмы

Шмаков Алексей Семенович
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы

Наследник

Майерс Александр
3. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наследник

Ротмистр Гордеев 3

Дашко Дмитрий
3. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев 3

(Не)нужная жена дракона

Углицкая Алина
5. Хроники Драконьей империи
Любовные романы:
любовно-фантастические романы
6.89
рейтинг книги
(Не)нужная жена дракона

Идеальный мир для Лекаря 28

Сапфир Олег
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 28

Сыночек в награду. Подари мне любовь

Лесневская Вероника
1. Суровые отцы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сыночек в награду. Подари мне любовь

Инквизитор Тьмы 2

Шмаков Алексей Семенович
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы 2

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Искатель 1

Шиленко Сергей
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 1

Сердце Дракона. Том 10

Клеванский Кирилл Сергеевич
10. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.14
рейтинг книги
Сердце Дракона. Том 10

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Выстрел на Большой Морской

Свечин Николай
4. Сыщик Его Величества
Детективы:
исторические детективы
полицейские детективы
8.64
рейтинг книги
Выстрел на Большой Морской

Кодекс Крови. Книга VII

Борзых М.
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VII