Azure WebJob 未记录到 blob 存储

Azure WebJob not logging to blob storage

我有一个 dotnet core 1.1 web-api,它使用 ILogger 登录到控制台。如果我在 azure 控制台中的 Monitoring/Diagnostic 日志下打开应用程序日志记录 (Blob) 选项,这些日志将被拾取并发送到基于 (appname)/month/day/hour 的 blob。这很好用。

但是,使用相同 ILogger 和相同配置的我的 webjob 没有输出到这些 mm/dd/hh 目录。

如果我打开应用程序日志记录(文件系统),我会看到我的日志,但我真的希望它们进入相同的 blob 存储位置,这样我就可以在 Splunk 中获取它们。

我哪里错了?

根据您的描述,我通过 VS2017 使用目标框架 .NET Core 1.1 创建了我的控制台应用程序,如下所示:

Nuget 包:

Program.cs

class Program
{
    static void Main(string[] args)
    {
        ILoggerFactory loggerFactory = new LoggerFactory()
            .AddConsole()
            .AddDebug()
            .AddAzureWebAppDiagnostics();

        ILogger<Program> logger = loggerFactory.CreateLogger<Program>();

        logger.LogInformation("Hello World!");
        logger.LogInformation("Sleeping for 5s before exit...");
        Thread.Sleep(5 * 1000);
    }
}

部署到azure后,可以看到KUDU控制台下的日志和blob日志文件如下: