Azure函数日志记录没有';他似乎不在工作

Azure函数日志记录没有';他似乎不在工作,azure,azure-functions,Azure,Azure Functions,我能够成功地调用我的函数,并使它们执行我希望它们执行的操作。问题是,日志似乎没有保存在任何地方,我不知道如何查看它们。如果发生错误,我会想这样做。作为一个测试,我有我的工作功能,只要调用log.Info就可以了。在本地测试时,它会将消息打印到控制台。我相信我已经正确地启用了所有功能,但让我解释一下我做了什么,以防我没有做到 在我的应用程序服务中,在监视->诊断日志下,我已启用了所有功能。应用程序日志记录(文件系统)详细、应用程序日志记录(Blob)详细(设置了存储位置)、详细错误消息和已启用的失

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

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

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

请注意,函数设置为需要身份验证。如果单击“监视器”选项卡,则不会显示任何内容。它只是说“加载…”永远没有信息。也许这是因为身份验证

我使用Azure存储资源管理器浏览到我的blob。“log”blob存在,我确实看到了一组嵌套的目录,直到现在。但是,它只包含一个354字节的文件,其中包含几行随机信息。此文件似乎从未更新或变大

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

我还去KUDU买了我的函数应用程序({myfunctionpp}.scm.azurewebsites.net/azurejobs/#/functions)。虽然我确实看到我的函数被成功调用,但从对log.Info的调用中看不到任何内容

我尝试使用不同的记录器,就像测试一样:System.Diagnostics.Trace.TraceError(“测试错误”)

我也没有看到这个消息出现在任何地方

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

设置:
监视器:

身份验证不应导致日志和日志出现任何问题。信息应该是现成的,不需要设置

我强烈建议您为专用功能应用程序启用AlwaysOn。长时间加载监视器选项卡可能是因为您的站点处于“冷”状态,需要更长的时间才能启动


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

如果我打开了Fiddler,同样的事情会发生在我身上……关闭Fiddler,一切都很好。

所以我在你提到的目录中看到了一些东西。我现在也在我的表存储中看到了它(虽然不是blob,但也不在乎,只要它在某个地方)。我想我可能是找错地方了。我确实按照你刚才的建议启用了“始终打开”,但监视器页面从未加载或更改。我假设这是由于启用了身份验证?我看到了另一个SO主题,关于启用auth如何导致这些“错误:我们无法访问您的功能应用程序(未经授权)…”消息出现在门户中,我也有,这是一个已知的问题。请尝试打开浏览器开发人员工具,查看控制台中是否记录了任何错误,或者访问“监视器”选项卡时是否有任何网络请求返回失败,这可能有助于了解该问题。当我转到监视器页面时,我在控制台中看到:“{”消息”:请求无效。“,“modelState”:{“host.String”:[“请求中需要一个值,但该值不存在。”]}”。这是:{myfunctionpp}.scm.azurewebsites.net/azurejobs/api/functions/defined/invocations?limit=20:1获取https://{myfunctionpp}.scm.azurewebsites.net/azurejobs/api/functions/defined/invocations?limit=20 404(未找到)zone.min.js?v=39bd38aa:1获取https://{myfunctionpp}.scm.azurewebsites.net/azurejobs/api/functions/defined/invocations?limit=20 404(未找到)确定,“未定义”是问题的根源。当您说“已启用身份验证”时,您使用的是应用程序服务身份验证还是功能级身份验证?查看github上的函数门户代码,如果启用了应用程序服务身份验证且未设置为匿名(),则可能会获得未定义的主机id