Я новичок в некоторых понятиях, таких как настройка ведения журнала и проблемы с просмотром журналов трассировки и уровня отладки. Я следил за видео 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 без использования сторонней библиотеки. Но ... я не спас их до того, как задал вопрос, чтобы связать их здесь (извлеченный урок).