Невозможно изменить конфигурацию ведения журнала для приложения 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();

Чтобы проверить это, я добавил следующее в мой HomeControllerIndex действие:

        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", журнал всегда содержит одну и ту же информацию.

Что мне нужно, так это настройка, которая позволяет мне регистрировать отладочную информацию локально, но в рабочих записях только до уровня ошибки. И я хотел бы отфильтровать некоторые записи системного журнала, чтобы сделать их более соответствующими моим требованиям. Просто интересно, что мне не хватает, чтобы получить контроль над этой конфигурацией.

0 ответов

Другие вопросы по тегам