Как настроить раздел журнала приложений для определения провайдера с фильтрами? - PullRequest
0 голосов
/ 31 мая 2019

Я хочу добавить запись в лазурные капли. Я использую 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...