Asp.net core 在Log4Net中筛选Asp.netcore日志
我正在使用ASP.NET Core并创建了一个Log4net日志记录提供程序 我当前的log4net.config文件如下所示:Asp.net core 在Log4Net中筛选Asp.netcore日志,asp.net-core,log4net,log4net-configuration,Asp.net Core,Log4net,Log4net Configuration,我正在使用ASP.NET Core并创建了一个Log4net日志记录提供程序 我当前的log4net.config文件如下所示: <?xml version="1.0" encoding="utf-8" ?> <log4net debug="true"> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true">
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<appendToFile value="true" />
<DatePattern value="yyyy\\\\MM\\\\dd'.inf.log'" />
<rollingStyle value="Date" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
</layout>
</appender>
<appender ref="HangfireLoggerAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\HangfireLog.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
<logger additivity="false" name="Hangfire">
<level value="INFO" />
<appender-ref ref="HangfireLoggerAppender" />
</logger>
</log4net>
日志显示了大量asp.net核心垃圾。SQL日志等
我想过滤掉:
Microsoft.AspNetCore。*
Microsoft.EntityFrameworkCore*
如何使用Log4net实现这一点?您需要在WebHostBuilder上配置日志记录,如下所示: [Program.cs->BuildWebHost(字符串[]args)]
返回WebHost.CreateDefaultBuilder(args)
.UseStartup()
配置日志记录((hostingContext,日志记录)=>
{logging.AddConfiguration(hostingContext.Configuration.GetSection(“logging”);
logging.AddFilter(“Microsoft.AspNetCore”,LogLevel.Information);
logging.AddFilter(“Microsoft.EntityFrameworkCore”,LogLevel.Information);
logging.AddConsole();
logging.AddDebug();
})
.Build();
调用logging.AddFilter方法,将名称空间指定为第一个参数,将LogLevel指定为第二个参数
如果您不想在代码中这样做,也可以使用appsettings.json文件中的配置来完成。你可以读更多
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
ConfigureLogging((hostingContext, logging) =>
{ logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddFilter("Microsoft.AspNetCore", LogLevel.Information);
logging.AddFilter(" Microsoft.EntityFrameworkCore", LogLevel.Information);
logging.AddConsole();
logging.AddDebug();
})
.Build();