在.NET Core 3 web应用程序的代码中配置NLog,以匹配"Microsoft.*"记录器名称且无目标,可以按照以下步骤进行配置:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target xsi:type="Null" name="blackhole" />
</targets>
<rules>
<logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
</rules>
</nlog>
上述配置文件中,我们定义了一个名为"blackhole"的空目标(target),并将"Microsoft."记录器的日志级别设置为Trace,并将其写入到"blackhole"目标中。这样配置后,"Microsoft."记录器的日志将不会被输出。
using NLog.Extensions.Logging;
public void ConfigureServices(IServiceCollection services)
{
// 添加NLog日志记录器
services.AddLogging(loggingBuilder =>
{
loggingBuilder.ClearProviders();
loggingBuilder.SetMinimumLevel(LogLevel.Trace);
loggingBuilder.AddNLog();
});
// 其他服务的配置...
}
上述代码中,我们首先清除了默认的日志记录器提供程序,然后设置最低日志级别为Trace,并添加了NLog日志记录器。
using Microsoft.Extensions.Logging;
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
// 其他中间件的配置...
// 添加NLog中间件
loggerFactory.AddNLog();
app.UseMiddleware<NLogMiddleware>();
// 其他中间件的配置...
}
上述代码中,我们首先通过loggerFactory.AddNLog()方法将NLog添加到日志记录器工厂中,然后使用app.UseMiddleware<NLogMiddleware>()方法将NLog中间件添加到请求处理管道中。
至此,我们已经完成了在.NET Core 3 web应用程序中配置NLog以匹配"Microsoft."记录器名称且无目标的步骤。通过上述配置,"Microsoft."记录器的日志将被过滤并不会输出到任何目标中。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求和情况进行评估。
领取专属 10元无门槛券
手把手带您无忧上云