Serilog - Как остановить журналы жизненного цикла запросов и включить только пользовательские журналы информации
Я использую ASP.NET Core 3.1, я включил nuget для serilog "Serilog.AspNetCore" версии 3.2.0.
Настроен для входа в файл, как показано ниже:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.File("C:\\ProgramData\\MySolution\\MyLog.txt",
rollOnFileSizeLimit: true,
fileSizeLimitBytes: 2000,
retainedFileCountLimit: 5)
.CreateLogger();
В моем коде я вхожу в систему, используя код Log.Information("Starting up");
Когда я просматриваю журнал, я получаю много данных о запросах, которые мне действительно не нужно видеть в журнале.
Пример:
2020-03-18 12:19:27.355 +05:30 [INF] Путь к корневому каталогу содержимого: C: \ R \ Path\MyProject.Notification
2020-03-18 12:19:27.486 +05:30 [INF] Запрос запуска HTTP / 2.0 GET https://localhost:44360/swagger/index.html
2020-03-18 12:19:27.707 +05:30 [INF] Запрос завершен через 227,3113 мс 200 текст / html;charset=utf-8
2020-03-18 12:19:27.909 +05:30 [INF] Запрос HTTP / 2.0 GET https://localhost:44360/swagger/v1/swagger.json
2020-03-18 12:19:28.064 +05:30 [INF] Запрос завершен через 154,5787 мс 200 application / json;charset=utf-8
2020-03-18 12:19:41.221 +05:30 [INF] Запрос запуска HTTP / 2.0 GET https://localhost:44360/Client/Index
2020-03-18 12:19:41.238 +05:30 [INF] Авторизация прошла успешно.
Мне действительно не нужен весь этот журнал, но я хочу регистрировать только те, которые я указываю с помощью Log.Information("log content")
в стороне мои методы действия контроллеров.
Как я могу этого добиться?
1 ответ
Как указано в ссылке Рубена, добавьте переопределение для AspNetCore следующим образом:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
Это подавит множество нежелательных сообщений.