Azure Function 1.x:如何从Application Insights移除冗余的“Host keys are loaded.”日志
解决Azure Functions 1.x中"Host keys are loaded"冗余日志问题
我之前在使用Azure Functions 1.x集成Application Insights时,也碰到过一模一样的问题——每次触发Http函数都会出现这条烦人的"Host keys are loaded"日志,而且修改host.json似乎完全没效果。下面是我亲测有效的几个解决方法:
1. 确保host.json的配置结构符合1.x规范
Azure Functions 1.x的日志过滤配置和后续版本(2.x+)的结构不一样,很多人踩坑就是因为直接把2.x的配置套过来了。正确的1.x配置应该把categoryFilter嵌套在logger节点下,示例如下:
{ "logger": { "categoryFilter": { "defaultLevel": "Warning", "categoryLevels": { "Host.Aggregator": "Information", "Function": "Information", "Host.Keys": "None" } } }, // 其他host.json配置项... }
修改完成后一定要重启你的Function App,否则配置不会生效。
2. 在Application Insights端添加过滤规则
如果上面的host.json配置还是没起作用,可以直接在Application Insights层面拦截这条日志:
- 进入你的Application Insights资源,找到"诊断设置"
- 选择当前Function App对应的日志流,添加筛选条件:排除日志类别等于
Host.Keys的条目 - 保存设置后,后续这条冗余日志就不会再出现在App Insights里了
3. 升级到1.x的最新补丁版本
这条日志的频繁输出其实是Azure Functions 1.x早期版本的一个小bug,微软在后续的补丁版本里优化了这个逻辑。你可以尝试将Function App的运行时升级到1.x的最新可用版本,可能从根源上解决这个问题。
内容的提问来源于stack exchange,提问作者duy
相关产品推荐
相关产品推荐

