I am using Microsoft.Extensions.Logging.Log4Net.AspNetCore in my ASP.NET Core 5.0 web application.
The logging is enabled in Startup.cs as this:
services.AddLogging(logging =>
{
logging.AddLog4Net("log4net.config", true);
});
Unfortunately DEBUG Logs are not shown in the logfile / console even if I set the level to 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>
Configure logging for you HostBuilder. Tipicaly code in program.cs
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var HostBuilder = WebHost.CreateDefaultBuilder(args);
HostBuilder
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddLog4Net(Path.Combine(AppContext.BaseDirectory, "cfg", "log4net.config"));
logging.SetMinimumLevel(LogLevel.Debug);
})
.UseStartup<Startup>();
return HostBuilder;
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.