【发布时间】: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"
}
}
【问题讨论】:
标签: c# asp.net logging azure-web-app-service log4net