我想将日志记录添加到天蓝色的Blob。我使用AddAzureWebAppDiagnostics
将诊断信息记录到Blob中。
它工作正常,但是我想将一些特殊信息(业务信息)放入另一个Blob。
在我的控制器中,我用ILogger
创建了category == "BusinessLogger"
。
这使我可以为该类别创建过滤器,但不能在 appsettings 中配置提供程序和过滤器,以为类别添加另一个带有过滤器的BlobLoggerProvider
。
是否有可能开箱即用,无需附加代码?
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost
.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
logging.AddDebug();
logging.AddAzureWebAppDiagnostics();
//logging.AddProvider(new BlobLoggerProvider(hostingContext.Configuration.GetSection(...)));
logging.AddFilter((provider, category, logLevel) => {
if (provider == "Microsoft.Extensions.Logging.AzureAppServices.Internal.BlobLoggerProvider")
{
return category == "BusinessLogger";
}
return true;
});
})
.UseApplicationInsights();