【发布时间】:2021-04-02 19:25:01
【问题描述】:
我在我的 ASP.NET Core 5.0 Web 应用程序中使用 Microsoft.Extensions.Logging.Log4Net.AspNetCore。
在 Startup.cs 中启用了日志记录,如下所示:
services.AddLogging(logging =>
{
logging.AddLog4Net("log4net.config", true);
});
很遗憾,即使我将级别设置为 DEBUG,日志文件/控制台中也不会显示 DEBUG 日志?!
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="log/WebApp.log" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
<mapping>
<level value="ERROR" />
<foreColor value="Red" />
</mapping>
<mapping>
<level value="WARN" />
<foreColor value="Yellow" />
</mapping>
<mapping>
<level value="DEBUG" />
<foreColor value="White" />
</mapping>
<mapping>
<level value="DEBUG" />
<foreColor value="Green" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFile" />
<appender-ref ref="TraceAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
【问题讨论】:
-
检查 appsettings.json 和 appsettings.Development.json 文件,是否从这里设置了日志级别?此外,您是否使用日志过滤器?如果使用,请尝试移除过滤器或更换过滤器。参考:Middleware Debug logs are not forwarded to log4net provider
-
谢谢,这解决了我的问题。我用 appsettings.Development.json 覆盖了我的 appsettings.json
标签: c# asp.net-core log4net log4net-configuration