在appsettings.json未指定日志提供程序时,默认日志输出位置是哪里?
appsettings.json 中 Logging 配置的常见问题
1. 写入Windows事件日志的配置
当appsettings.json里的Logging配置包含EventLog节点时,日志会被写入Windows事件日志,示例配置如下:
"Logging": { "EventLog": { "LogLevel": { "Default": "Information" } } }
这里明确指定了EventLog作为日志输出的目标提供程序,同时设置默认日志级别为Information级别。
2. 仅配置LogLevel时的日志输出目标
如果Logging节点下只配置了LogLevel,没有指定具体的日志提供程序(比如EventLog、Console这类),示例配置如下:
"Logging": { "LogLevel": { "Default": "Error", "Microsoft.AspNetCore": "Error" } }
这种情况下,ASP.NET Core会启用默认的日志提供程序:
- 开发环境:默认输出到控制台和调试窗口
- 生产环境:默认仅输出到控制台
另外,这里的LogLevel是全局过滤规则,会对所有已启用的日志提供程序生效,只有级别不低于Error的日志才会被输出。
内容的提问来源于stack exchange,提问作者variable
相关产品推荐
相关产品推荐

