Azure WebJob未记录到blob存储

时间:2017-09-08 21:37:14

标签: azure .net-core azure-webjobs

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

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

如果我打开应用程序日志(文件系统),我会看到我的日志,但我真的希望它们转到相同的blob存储位置,所以我可以在Splunk中选择它们。

我哪里错了?

1 个答案:

答案 0 :(得分:5)

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

Nuget包:

enter image description here

<强> 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日志文件下看到日志,如下所示:

enter image description here

enter image description here