部署到Azure后Isolated模式Timer Trigger Function无法触发问题
不开启Application Insights时Azure Functions报错排查渠道
- Azure门户内置日志流:进入目标函数App资源,在左侧「开发工具」分类下找到「日志流」选项,开启后可实时查看函数宿主启动日志、触发器加载日志、运行时执行报错。需先将日志级别调整为Verbose或Information,避免过滤关键报错,.NET 5 Isolated模式的宿主启动失败、依赖缺失这类问题都会在此输出。
- Kudu控制台日志文件:在函数App「开发工具」分类下进入「高级工具(Kudu)」,点击「Debug console」选择CMD/PowerShell,进入
LogFiles目录查看不同维度的日志:- 单函数执行日志路径:
LogFiles/Application/Functions/Function/[你的Timer Trigger名称] - .NET Isolated宿主运行日志路径:
LogFiles/Application/Functions/Host - 平台级运行报错可查看
LogFiles/EventLog.xml - 运行时扩展安装异常可查看
LogFiles/siteextensions下的日志
- 单函数执行日志路径:
- 门户函数测试面板:进入单个Timer Trigger函数的详情页,点击「代码 + 测试」菜单,选择「测试/运行」手动触发函数执行,控制台会直接返回本次运行的报错堆栈和输出内容,适合排查单次执行的异常问题。
- 函数App活动日志:在函数App左侧菜单找到「活动日志」,可查看平台层面的操作报错,比如触发器注册失败、出站SQL访问被防火墙拦截、函数运行身份权限不足这类不会输出到函数运行日志的平台级错误。
- Serilog自定义持久化日志:确认Serilog是否配置了文件持久化Sink,可临时修改配置添加
WriteTo.File(@"d:\home\LogFiles\serilog.log")将自定义日志写入函数App本地磁盘,部署后直接到Kudu的对应路径下读取日志内容,需确保函数运行身份具备该目录的写入权限。
内容的提问来源于stack exchange,提问作者Sugar Bowl
相关产品推荐
相关产品推荐

