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日志文件如下:
我有一个 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日志文件如下: