Как включить просмотр журналов трассировки. Net Core 3.0 через ConfigureLogging? - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в некоторых понятиях, таких как настройка ведения журнала и проблемы с просмотром журналов трассировки и уровня отладки. Я следил за видео IAmTimCorey по этому вопросу, и не уверен, что что-то изменилось в этом отношении, особенно когда он выпустил видео в 2019 году, используя предварительную версию Core 3.0.

Я запускаю из коробки ASP . Net Core 3.1 веб-приложение от VS19. Каждый раз, когда я запускаю приложение, я вижу информацию, журналы предупреждений, ошибок и критических уровней, но не вижу трассировки или отладки. Я запускаю (что я считаю) все, что сделано в видео (я проверял несколько раз).

appsettings. json

{
  "Logging":
    "Console": {
      "Default": "Trace"
    }, 
    "LogLevel": {
      "Default": "Trace",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Warning",
      "Microsoft*" :  "Warning"
    }
  },
  "AllowedHosts": "*"
}

Program.cs

       public static IHostBuilder CreateHostBuilder(string[] args) {
            return Host.CreateDefaultBuilder(args)
                .ConfigureLogging((context, logging) => {
                    logging.ClearProviders();
                    logging.AddConfiguration(context.Configuration.GetSection("Logging"));
                    logging.AddDebug();
                    logging.AddConsole();

                })
                .ConfigureWebHostDefaults(webBuilder => {
                    webBuilder.UseStartup<Startup>();
                });
        }

Index.cs html

 public void OnGet() {
            _logger.LogInformation("-- information log ");
            _logger.LogTrace("Trace log");
            _logger.LogWarning("Warning log");
            _logger.LogError("Error log");
            _logger.LogCritical("!!!Critical log!!!");
            //Advanced logging messages
            _logger.LogError("Everything was on fire and NOT FINE at {Time}", DateTime.UtcNow);

            try {
                throw new Exception("Running Quantum Leap Protocol...ERROR");
            } catch (Exception ex) {
                _logger.LogCritical(ex, "The Titanic is in better condition at this moment ({Time})", DateTime.UtcNow);
            }
        }

У меня есть набор настроек приложения с надлежащими уровнями конфигурации для ведения журнала afaik с .LogTrace, который должен отправлять сообщение на консоль: "Журнал трассировки";

То, что я вижу: информация: Microsoft.Hosting.Lifetime [0] бла-бла Больше информации от Microsoft информация: - предупреждение информационного журнала: ошибка журнала предупреждений: критический журнал ошибок: !!! Критический журнал !!! fail: Everything бла-бла Крита: система Titani c бла-бла. Исключение: работает Quantum бла-бла.

Так что у меня нет трассировки, и я по-прежнему вижу Microsoft, хотя они настроены на предупреждение, это уровень выше информации, поэтому я не должен видеть их элементы.

С logging.ClearProviders () ;, я думаю, что это очистит любые другие конфигурации регистрации. Чего мне не хватает?

Пожалуйста, поделитесь любыми ответами, которые могут ответить на этот вопрос, если я пропустил при поиске - - Я действительно искал это в Интернете и ТАК, но я не увидел ничего, что отвечало бы на это и ближе к Core 3.0 без использования сторонней библиотеки. Но ... я не спас их до того, как задал вопрос, чтобы связать их здесь (извлеченный урок).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...