首页 > 解决方案 > 为什么我的 azure webjob 没有记录到存储 blob?

问题描述

我已经为应用服务配置了应用服务日志记录以转到 Azure Blob 存储。

我的手动触发的 .net 核心测试 webjob 的测试代码很简单:

namespace TestWebJob
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Diagnostics.Trace.TraceError("message using diagnostics");
        }
    }
}

我希望看到 Trace 记录到存储 blob;但是在作业运行后我的 blob 是空的。

我在这里做错了什么?

标签: c#azure.net-coreazure-web-app-serviceazure-webjobs

解决方案


更新......

对不起最后一个答案。我现在明白你的意思了。

原因是我们的代码中没有 a TraceListener

你可以在你的代码中添加这个:

Trace.Listeners.Add(new ConsoleTraceListener());

我从这里的第二个答案中找到了它:Azure WebJobs: Can't find Trace logging

如果它不起作用,请检查您的运行时。您可以从这篇文章中看到在 .NET 或 .NET Core 中添加日志是不同的:https ://docs.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs#add-log-messages -in-code

在此处输入图像描述

-------------------------------------------------- - - - 分向線 - - - - - - - - - - - - - - - - - - - - - -------------

我尝试使用您的代码部署 WebJob,我发现您可能应该将应用服务日志设置中的日志级别更改为Verbose在此处输入图像描述

您可以在此页面中查看不同日志级别的详细信息:在 此处输入图像描述

当我将日志级别设置为Information并运行 WebJob 时,我的 blob 中没有添加任何内容。 在此处输入图像描述

在我将日志级别更改为Verbose并运行 WebJob 后,添加了信息。 在此处输入图像描述


推荐阅读