C# WebJob没有写入日志
为了让我的WebJob写入存储日志,我还需要在此处执行其他操作吗?一定是少了什么,但我不确定可能是什么 文档含糊不清,仅表明C# WebJob没有写入日志,c#,azure,.net-core,azure-storage,azure-webjobs,C#,Azure,.net Core,Azure Storage,Azure Webjobs,为了让我的WebJob写入存储日志,我还需要在此处执行其他操作吗?一定是少了什么,但我不确定可能是什么 文档含糊不清,仅表明 ProcessQueueMessage函数位于名为StorageQueueProcessor的类中,该方法成功处理添加到存储队列的新项。AzureWebJobsDashboard正在使用相同的日志存储队列,但没有写入任何日志 appSettings.json中定义了以下连接字符串,它们是正确的: "ConnectionStrings": { "Storage"
ProcessQueueMessage函数位于名为StorageQueueProcessor的类中,该方法成功处理添加到存储队列的新项。AzureWebJobsDashboard正在使用相同的日志存储队列,但没有写入任何日志 appSettings.json中定义了以下连接字符串,它们是正确的:
"ConnectionStrings": {
"Storage": ""
"ServiceBus": ""
"AzureWebJobsStorage": ""
"AzureWebJobsDashboard": ""
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Information",
"System": "Warning",
"Microsoft": "Information"
},
"Console": {
"LogLevel": {
"Default": "Warning",
"System": "Information",
"Microsoft": "Information"
}
以下是启动时运行的C#代码:
static async Task MainAsync(string[] args)
{
Action<QueuesOptions> qOptions = delegate (QueuesOptions s)
{
s.MaxDequeueCount = 1;
};
var builder = new HostBuilder()
.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices()
.AddAzureStorage();
})
.ConfigureAppConfiguration(b =>
{
})
.ConfigureLogging((context, b) =>
{
b.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Debug);
b.AddConsole();
})
.UseConsoleLifetime();
var host = builder.Build();
using (host)
{
await host.RunAsync();
}
}
您需要安装2.2.5版的软件包。然后在Main method->ConfigureLogging中,添加
b.AddAzureWebAppDiagnostics()代码>
示例代码:
主要方法:
//other code
var builder = new HostBuilder()
.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
b.AddAzureStorage();
})
.ConfigureAppConfiguration(b =>
{
}
)
.ConfigureLogging((context, b) =>
{
b.SetMinimumLevel(LogLevel.Debug);
b.AddConsole();
//add this line of code.
b.AddAzureWebAppDiagnostics();
})
.UseConsoleLifetime();
//other code
在Function.cs中:
public static void ProcessQueueMessage([QueueTrigger("myqueue1", Connection = "AzureWebJobsStorage")]CloudQueueMessage message, ILogger log)
{
log.LogInformation("hello, can you see me?");
log.LogInformation("Log test message:" + DateTime.Now.ToLongDateString());
log.LogInformation("the queue message is: " + message.AsString);
}
然后导航到azure门户->web应用程序服务(webjob发布到)->在左侧窗格中,单击“应用程序服务日志”->启用“应用程序日志记录(Blob)”并配置其他设置,如日志级别、Blob存储。截图如下:
将webjob发布到web应用程序后,运行webjob,您可以在kudu网站中查看日志信息:
最后,导航到您在上述步骤中配置的blob容器,您可以在那里看到日志:
您好,根据下面的答案,是否有关于此问题的更新?我将很快验证。谢谢。关于这个问题有什么最新消息吗?
public static void ProcessQueueMessage([QueueTrigger("myqueue1", Connection = "AzureWebJobsStorage")]CloudQueueMessage message, ILogger log)
{
log.LogInformation("hello, can you see me?");
log.LogInformation("Log test message:" + DateTime.Now.ToLongDateString());
log.LogInformation("the queue message is: " + message.AsString);
}