Azure Function App直连访问时如何获取日志?
实现Azure Function App直连访问时获取日志的方案
当然可以实现直连Function App URL时获取日志,以下是具体操作步骤:
一、启用Function App自身的日志记录
- 登录Azure门户,进入你的Function App,导航至监控 > 日志页面,开启应用程序日志记录(可选择文件系统或Blob存储作为存储介质),并设置合适的日志级别(如Information及以上)。
- 同时确保函数日志记录处于启用状态,这样函数的执行细节日志会被捕获。
二、配置诊断设置收集日志
- 在Function App的监控 > 诊断设置页面,点击添加诊断设置:
- 勾选需要采集的日志类别,比如
FunctionAppLogs(函数执行日志)、AppServiceHTTPLogs(HTTP请求日志)等; - 选择日志的目标存储位置:可以是Log Analytics工作区(便于查询分析)、存储账户(长期归档)或事件中心(实时流处理),根据你的需求选择即可。
- 勾选需要采集的日志类别,比如
三、验证日志是否正常采集
- 直接访问Function App的触发URL执行函数,等待数分钟后,前往你配置的日志存储位置查看:
- 若使用Log Analytics,可通过Kusto查询语句检索日志,例如:
FunctionAppLogs | where OperationName == "FunctionExecute" | order by TimeGenerated desc - 若使用存储账户,可在对应的Blob容器中找到按时间分片的日志文件。
- 若使用Log Analytics,可通过Kusto查询语句检索日志,例如:
补充提示
- 之前通过API管理网关能获取日志,是因为API管理自身配置了日志采集规则,而Function App直连访问的日志需要单独开启自身的日志功能。
- 如果需要和API管理网关输出的日志格式保持一致,可在函数代码中通过
ILogger接口输出结构化日志,这样收集到的日志会更便于统一分析。
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

