【发布时间】:2020-06-09 01:40:51
【问题描述】:
我有一个持久功能,我正在尝试在 Azure 门户中查看流式日志,但由于某种原因,我似乎只能在每 10 或 20 次尝试连接到日志流服务时查看日志.当它不起作用时,它看起来好像已连接,但屏幕上除了基本之外什么都没有显示:
Connecting...
2019-09-10T05:51:31 Welcome, you are now connected to log-streaming service. The default timeout is 2 hours. Change the timeout with the App Setting SCM_LOGSTREAM_TIMEOUT (in seconds).
2019-09-10T05:52:32 No new trace in the past 1 min(s).
2019-09-10T05:53:32 No new trace in the past 2 min(s).
(... etc)
我知道该功能正在运行,因为它可以很好地处理队列中的项目,并且我可以继续尝试重新连接到服务,最终它会“正确”重新连接并且我会看到日志。我不确定是不是只有我一个人,但似乎在函数应用重新启动后连接的运气更好。
一些背景:
- 我的持久函数应用程序(使用 Functions 2.0)有大约 20 个函数,包括编排器、子编排和活动函数。嗯... 20 个功能,以及 20 分之一的连接机会 - 巧合?也许每个函数都有自己的日志流,连接到函数应用流会随机选择一个函数,直到我得到正确的?但问题是我的大部分函数都会记录内容,而我只能看到所有日志或(大部分时间)什么也没有。
- 日志只是使用标准的函数日志,没什么特别的。关于日志记录,我唯一使用的其他东西是
Services.AddApplicationInsightsTelemetry()。
什么可能导致日志流有时只连接?
【问题讨论】:
-
假设这是流超时,并不总是显示日志。你可以去 kudu 站点检查日志文件。转到 https://[your-function-app].scm.azurewebsites.net/,调试控制台 > CMD,进入
D:\home\LogFiles\Application\Functions\Host` orD:\home\LogFiles\ Application\Functions\Function\function-name`.
标签: azure-functions azureportal azure-durable-functions