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

Azure容器应用服务中.NET6 Worker Service的TelemetryClient.TrackEvent()日志位置

.NET6 Worker Service容器应用TrackEvent日志排查及查看方法

一、先排查显式日志未上报的核心问题

你看不到TrackEvent日志,大概率是上报环节出了问题,先确认这几点:

  • 连接字符串配置:检查appsettings.json或者Azure应用服务的「配置」-「应用程序设置」里,APPLICATIONINSIGHTS_CONNECTION_STRING是否正确指向你的Application Insights资源。注意Worker Service必须用连接字符串,老的instrumentation key已不推荐使用。
  • TelemetryClient的使用方式:必须通过依赖注入获取实例,不能自己new TelemetryClient(),否则会丢失上下文配置。比如在Worker类的构造函数里注入:
    private readonly TelemetryClient _telemetryClient;
    public Worker(TelemetryClient telemetryClient)
    {
        _telemetryClient = telemetryClient;
    }
    
  • 采样率限制:默认Application Insights会对高流量场景做采样,可能丢弃了你的自定义事件。可以在appsettings.json里强制关闭采样:
    "ApplicationInsights": {
      "Sampling": {
        "Enabled": false,
        "Percentage": 100
      }
    }
    
  • 容器运行状态:先在Azure应用服务的「日志流」-「容器日志」里查看,确认应用没有崩溃、没有配置错误导致TrackEvent代码根本没执行。

二、显式TrackEvent日志的存储位置

当配置正确、日志成功上报后,TrackEvent的自定义事件会存储在你绑定的Application Insights资源托管的后端存储中,这是Azure Monitor托管的存储,不需要手动指定存储账户。

三、正确的查看方式

  • Application Insights日志查询:打开对应的Application Insights资源,进入「日志」(Log Analytics)页面,用Kusto语句精准查询:
    customEvents
    | where name == "你的自定义事件名称"
    | order by timestamp desc
    
  • 可视化事件页面:在Application Insights左侧菜单的「使用情况」-「事件」里,直接筛选事件名称、时间范围,就能看到所有上报的自定义事件详情。
  • 临时排查用日志流:如果开启了应用的调试日志,也能在应用服务的「日志流」里看到AI上报的调试信息,但正式的事件数据还是要到Application Insights里查看。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:20:35