You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function App(V4)无法将Info/Trace日志写入App Insights

解决Azure Function V4 App Insights仅记录Warning/Error日志的问题

核心配置修正

你的host.json配置存在层级和规则覆盖问题,Azure Functions V4对日志配置的优先级和命名空间匹配要求严格,直接替换成下面的配置即可:

{
  "version": "2.0",
  "logging": {
    "LogLevel": {
      "Default": "Information",
      "Function": "Information",
      "Function.你的函数名": "Trace" // 替换成你实际的EventHub触发器函数名,精确到函数才能捕获Trace级日志
    },
    "ApplicationInsights": {
      "LogLevel": {
        "Default": "Information",
        "Function": "Information"
      },
      "samplingSettings": {
        "isEnabled": false // 必须关闭采样!默认采样会自动过滤低级别日志,这是最容易踩的坑
      }
    }
  }
}

关键注意事项

  • 关闭采样是核心:哪怕你配置了正确的日志级别,默认的采样机制也会过滤掉大部分Info、Trace日志,日处理5000条完全不用担心性能问题,直接关闭即可。
  • 精准匹配函数命名空间:不要只写Function,加上具体函数名能确保日志规则精准命中你的EventHub触发器。
  • 代码无需修改:你现有代码里的Log(LogLevel.Information)和LogInformation等调用都是正确的,不用调整。

验证步骤

  1. 把修改后的host.json重新部署到Azure
  2. 手动触发几次函数,等待5-10分钟(App Insights日志存在一定延迟)
  3. 用KQL查询验证:
traces
| where timestamp > ago(10min)
| project timestamp, message, severityLevel
| order by timestamp desc

此时应该能看到所有级别的日志。

更简便的日志方案

因为你的日处理量很小,日常调试可以直接用Azure Portal里的函数日志流实时查看,或者在函数的「监测」页面直接筛选日志级别,不用每次写KQL。如果只是临时调试,也可以开启函数的「实时指标流」,能更快看到日志输出。

内容的提问来源于stack exchange,提问作者Brn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 03:03:10