Azure Web App诊断日志记录不支持日志过滤器

时间:2020-06-11 15:32:37

标签: azure asp.net-core

我已经这样配置应用程序登录:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((context, config) =>
        {
            ...
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
        .ConfigureLogging((context, logging) =>
        {
            logging.ClearProviders();

            if (context.HostingEnvironment.IsDevelopment())
            {
                logging.AddConsole();
            }
            else
            {
                logging.AddAzureWebAppDiagnostics();
            }

            logging.SetMinimumLevel(LogLevel.Information);

            logging.AddFilter((category, level) =>
            {
                if (category.Contains("Microsoft") && level > LogLevel.Information)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            });
        })
        .ConfigureServices(serviceCollection =>
            serviceCollection.Configure<AzureBlobLoggerOptions>(options =>
            {
                options.BlobName = $"auditLog-{DateTime.Today:dd-MM-yy}.txt";
            })
        );

但是,我面临两个问题:

  • 我无法在本地的应用程序输出中显示任何日志(对于Mac为VS)
  • Azure Blob存储中的日志仍包含所有信息级的Microsoft和系统日志,并且似乎不尊重我已应用的日志过滤器

如何配置到Azure Blob的日志记录,使其仅包含由应用程序生成的日志,而不包括所有Microsoft和系统 Information 级别的日志?

0 个答案:

没有答案