【发布时间】:2020-05-19 23:33:45
【问题描述】:
我对 .Net Core 还是很陌生。我正在通过默认的 ILogger 提供程序处理基本的信息记录。 最初,我的 AppSetting.json 未注释并且能够看到我编写的日志。
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"AllowedHosts": "*"
}
后来,我评论了LogLevel 属性并在 Krestel 服务器上运行了应用程序。然后我仍然可以在控制台中看到记录的信息。
AppSettings.json
{
"Logging": {
//"LogLevel": {
// "Default": "Debug",
// "System": "Information",
// "Microsoft": "Information"
//}
},
"AllowedHosts": "*"
}
Program.cs
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((context, logging)
=>
{
logging.ClearProviders();
logging.AddConfiguration(context.Configuration.GetSection("Logging"));
logging.AddConsole();
})
.UseStartup<Startup>();
HomeController.cs
中的示例日志记录方法public void LogExceptionToConsole()
{
_logger.LogError("This is raised by logger information");
}
控制台
为什么会出现这种行为?如果这是行为,为什么它被设计成这样? 谁能解释一下。
提前致谢
【问题讨论】:
-
您是否检查了 appsettings.development.json 中的设置?
-
LogLevel 只是设置你想看到什么样的日志。注释它并不意味着禁用日志记录。如果你不想看到错误,请尝试在
appsettings.development.json中将所有日志级别设置为关键级别
标签: asp.net-core asp.net-core-mvc asp.net-core-2.1