Azure 函数日志记录似乎不起作用

标签 azure azure-functions

我能够成功调用我的函数并让它们执行我希望它们执行的操作。问题是日志看起来并没有保存在任何地方,而且我不知道如何查看它们。如果发生错误,我会想要这样做。作为测试,我的工作函数在被调用后立即执行 log.Info 。在本地测试时,它将消息打印到控制台。我相信我已经正确启用了所有功能,但让我解释一下我做了什么,以防万一我没有这样做。

在我的应用程序服务中,在“监控”->“诊断日志”下,我已启用所有功能。应用程序日志记录(文件系统)详细、应用程序日志记录(Blob)详细(设置存储位置)、详细错误消息和失败请求跟踪已打开。

在我的函数中,我使用传递给我的 run 方法的 TraceWriter 对象(我从模板开始)。

请注意,功能设置为需要身份验证。如果我单击“监控”选项卡,则不会出现任何内容。它只是永远显示“正在加载...”并且没有任何信息。也许这是因为身份验证?

我使用 Azure 存储资源管理器浏览到我的 blob。 “日志”blob 存在,并且我确实看到了一组到目前为止的嵌套目录。然而它只包含一个 354 字节的文件,其中包含几行一些随机信息。该文件似乎永远不会更新或变大。

我使用 FTP 尝试浏览到日志可能所在的位置,但那里没有包含任何日志文件的目录。

我还访问了 KUDU 来获取我的函数应用程序 ({myfunctionapp}.scm.azurewebsites.net/azurejobs/#/functions)。虽然我确实看到我的函数已成功调用,但我在任何地方都没有看到对 log.Info 的调用中的任何内容。

我尝试使用不同的记录器,并进行了测试:System.Diagnostics.Trace.TraceError("test error");

我也没有看到此消息出现在任何地方。

就设置而言,我是否遗漏了什么?问题是我需要身份验证吗?如果是后者,还有办法查看日志吗?我绝对必须启用身份验证。谢谢。如果有帮助,下面是我的设置和监视器选项卡的链接。

设置:https://postimg.org/image/u57m2xbl5/ 监控:https://postimg.org/image/uou10arch/

最佳答案

身份验证不应导致任何日志记录问题,并且 Log.Info 应开箱即用,无需设置。

我强烈建议您为专用函数应用启用 AlwaysOn。 “监视器”选项卡加载时间过长可能是因为您的网站处于“冷”状态,启动时间较长。

如果您转到 {myfunctionapp}.scm.azurewebsites.net/DebugConsole 并导航到 LogFiles/Application/Functions,您会在那里看到任何预期的日志吗?另外,当您从门户运行函数时,您是否在日志窗口中看到日志?

关于Azure 函数日志记录似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41947833/

相关文章:

azure - 我们如何在 AZURE 中安排自定义代码调用认知 API

Azure Function Timer 触发器和 API 管理 - 手动执行返回 404

Azure ARM 模板 SQL Server 自动调整部署错误

azure - 如何保证消息传输可靠-ASB

azure - 如何仅为自定义域配置 SSL 证书(跳过域 *.azurewebsites.net)

.net - Azure 开发运营 : Make Nuget-Package with AssemblyVersion

c# - (413) 请求实体太大 - 在 Azure 上上传 Wcf 时

c# - 对时间触发的 Azure 函数进行单元测试

Azure函数: How to load balance between multiple Function apps in the same region

python - 通过 Http 触发器将新的输入数据发送到已经运行的 Orchestrator 功能