Невозможно изменить конфигурацию ведения журнала для приложения ASP.NET Core.
Просто настраиваю свое первое веб-приложение ASP.NET Core и пытаюсь понять, как настроить ведение журнала.
Изначально мой appsettings.json
имеет этот раздел:
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
Я добавил Serilog.Extensions.Logging.File
Пакет Nuget и добавил следующее к моему Startup.cs
:
loggerFactory.AddFile("Logs/mylog-{Date}.txt");
if (env.IsDevelopment())
{
loggerFactory.AddDebug();
Чтобы проверить это, я добавил следующее в мой HomeController
Index
действие:
var logger = _loggerFactory.CreateLogger("LoggerCategory");
logger.LogInformation("Hello LogInformation");
logger.LogWarning("Hello LogWarning");
logger.LogError("Hello LogError");
logger.LogDebug("Hello LogDebug");
logger.LogCritical("Hello LogCritical");
Вот итоговый журнал:
2017-10-13T16:57:16.7553362+01:00 0HL8IAC9TRPPJ [INF] Request starting HTTP/1.1 GET http://localhost:59652/ (e5be5b71)
2017-10-13T16:57:16.7553362+01:00 0HL8IAC9TRPPI [INF] Request starting HTTP/1.1 DEBUG http://localhost:59652/ 0 (e5be5b71)
2017-10-13T16:57:17.0886559+01:00 0HL8IAC9TRPPI [INF] Request finished in 355.3386ms 200 (15c52c40)
2017-10-13T16:57:17.8083460+01:00 0HL8IAC9TRPPJ [INF] Executing action method "Web.Controllers.HomeController.Index (Web)" with arguments (null) - ModelState is Valid (ba7f4ac2)
2017-10-13T16:57:18.6076115+01:00 0HL8IAC9TRPPJ [INF] Hello LogInformation (b6c08aba)
2017-10-13T16:57:18.6081116+01:00 0HL8IAC9TRPPJ [WRN] Hello LogWarning (d88e3353)
2017-10-13T16:57:18.6086130+01:00 0HL8IAC9TRPPJ [ERR] Hello LogError (45572306)
2017-10-13T16:57:18.6091128+01:00 0HL8IAC9TRPPJ [FTL] Hello LogCritical (f54eafe1)
2017-10-13T16:57:21.4623469+01:00 0HL8IAC9TRPPJ [INF] Executing ViewResult, running view at path "/Views/Home/Index.cshtml". (9707eebe)
2017-10-13T16:57:21.5574385+01:00 0HL8IAC9TRPPJ [INF] User profile is available. Using '"C:\Users\...\AppData\Local\ASP.NET\DataProtection-Keys"' as key repository and Windows DPAPI to encrypt keys at rest. (7ac5e29c)
2017-10-13T16:57:22.3276762+01:00 0HL8IAC9TRPPJ [INF] Executed action "Web.Controllers.HomeController.Index (Web)" in 4765.1048ms (afa2e885)
2017-10-13T16:57:22.4037497+01:00 0HL8IAC9TRPPJ [INF] Request finished in 5689.2277ms 200 text/html; charset=utf-8 (15c52c40)
Мой первый вопрос: почему журнал не содержит мой вызов LogDebug?
Мой второй вопрос: почему не меняется appsettings.json
В файле есть какая-то разница. Я считаю, что независимо от того, на что я изменяю значения для "По умолчанию", "Система" и "Microsoft", журнал всегда содержит одну и ту же информацию.
Что мне нужно, так это настройка, которая позволяет мне регистрировать отладочную информацию локально, но в рабочих записях только до уровня ошибки. И я хотел бы отфильтровать некоторые записи системного журнала, чтобы сделать их более соответствующими моим требованиям. Просто интересно, что мне не хватает, чтобы получить контроль над этой конфигурацией.