Я хочу добавить запись в лазурные капли. Я использую AddAzureWebAppDiagnostics
для записи диагностической информации в большие двоичные объекты.
Работает нормально, но некоторую специальную информацию (бизнес-информацию) я хочу поместить в другой 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();