完成日志的间歇记录

Intermittent logging of completion logs

我已经使用 Application Insights 检测部署了一个函数应用程序。该函数应用程序有一个 BlobTrigger 函数,该函数执行 LogInformation 调用作为函数的最后一步,以写出正在处理的数据的指标。我注意到最终的日志消息并没有始终如一地在基于事务搜索的 Application Insights 中被捕获。此外,当我的自定义消息丢失时,“开箱即用”完成消息(已执行 'MyFunction'(成功,Id=some-guid,持续时间=99ms)也丢失了,而当我的自定义消息存在时也存在.

据我所知,该功能已成功完成。日志中没有异常,在写入日志消息之前执行的最后操作是输出一个 blob,并且成功。我可以查看什么来了解为什么没有记录完成消息?函数实例能否在写入日志之前终止? (这似乎很可能,除了我的自定义日志和框架日志都丢失了)。

看起来答案是遥测采样。我不想完全删除它,因为我不想被依赖日志淹没,但我确实添加了更多类别以确保始终记录跟踪。 https://docs.microsoft.com/en-us/azure/azure-functions/configure-monitoring?tabs=v2#configure-sampling