启用 Microsoft.AspNetCore 命名空间的 DEBUG 级别日志
Posted
技术标签:
【中文标题】启用 Microsoft.AspNetCore 命名空间的 DEBUG 级别日志【英文标题】:Enable DEBUG level logs of the Microsoft.AspNetCore namespace 【发布时间】:2021-10-28 14:45:18 【问题描述】:我在我的 ASP.net Core 应用程序中使用log4net,并具有以下配置:
// Program.cs
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((logging) =>
logging.ClearProviders();
logging.AddLog4Net();
).UseStartup<Startup>();
我的配置:
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5date %-5level [%thread] %type.%method:%line - %message%newline" />
</layout>
</appender>
<!-- log everything coming from AspNetCore -->
<logger name="Microsoft.AspNetCore" additivity="false">
<level value="Debug" />
<appender-ref ref="Console" />
</logger>
<root>
<level value="Info" />
<appender-ref ref="Console" />
</root>
</log4net>
我想要达到的目标:
禁用我在 Azure 应用服务中看到的日志消息(许多 HTTP GET 和 HTTP POST 日志,可能来自 IIS 日志) 拥有来自Microsoft.AspNetCore
的任何内容的调试级别日志
我错过了什么?如果我使用 log4net,是否还需要 appsettings.json
文件中的“日志记录”部分?如果我添加以下内容,我将能够看到日志,但为什么需要它?这不应该从log4net.conf
文件中控制吗?
"Logging":
"LogLevel":
"Microsoft": "Debug"
【问题讨论】:
【参考方案1】:您必须在appsettings.Development.json
中考虑到低于开发版本信息级别的日志记录级别消息,如documentation 中指定的那样,如下所示:
"Logging":
"LogLevel":
"Default": "Debug",
"...":"..."
见here
默认情况下会在 Asp.net 核心应用程序中生成 appsettings.json 文件。
日志配置通常由 appsettings.Environment
.json 文件的 Logging
部分提供。 appsettings.Development.json 文件由 ASP.NET Core Web 应用模板生成:
"Logging":
"LogLevel":
"Default": "Information",
"Microsoft": "Debug",
"Microsoft.Hosting.Lifetime": "Information"
日志记录类别是
如果未设置"default"
日志级别,则默认日志级别值为Information.
"Microsoft"
类别日志在日志级别 Debug 及更高级别。
"Microsoft.Hosting.Lifetime"
类别的日志级别为“信息”及更高级别。
日志级别如下:
Trace
= 0、Debug
= 1、Information
= 2、Warning
= 3、Error
= 4、Critical
= 5、None
= 6。
参考here for more info
检查here 是否禁用 IIS 日志
【讨论】:
以上是关于启用 Microsoft.AspNetCore 命名空间的 DEBUG 级别日志的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft.AspNetCore.SpaServices.Extensions 的文档在哪里?
NETSDK1073:无法识别 FrameworkReference 'Microsoft.AspNetCore.App'
如何选择正确的 Microsoft.AspNetCore.Authentication 替代方案
未找到 Microsoft.AspNetCore.Antiforgery
Microsoft.AspNetCore.Routing路由
Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationHandler 证书验证失败