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

Azure Functions中两类Application Insights NuGet包的适用场景及差异

.NET Core 6 Azure Functions中两个Application Insights NuGet包的差异与适用场景

1. Microsoft.Extensions.Logging.ApplicationInsights

  • 这是适配.NET标准日志系统(ILogger抽象)的轻量级包,核心作用就是把你通过ILogger输出的日志同步到Application Insights。
  • 用法和你测试的一致:在启动类注册TelemetryConfiguration实例后,函数类里注入ILogger,直接用LogInformation/LogError等方法写日志,这些内容会自动出现在AI的日志面板里。
  • 注册代码:
builder.Services.AddSingleton(new TelemetryConfiguration { ConnectionString = Environment.GetEnvironmentVariable("APPLICATIONINSIGHTS_CONNECTION_STRING")});
  • 适合场景:
    • 只需要把现有ILogger日志同步到AI,不需要额外遥测功能。
    • 想保持代码和日志系统的解耦,以后换日志平台不用改太多代码。

2. Microsoft.ApplicationInsights.AspNetCore

  • 这是完整的Application Insights ASP.NET Core SDK,除了日志转发,还自带全套遥测能力——自动收集请求链路、依赖调用、性能数据,同时支持自定义遥测。
  • 用法如你测试:启动类用AddApplicationInsightsTelemetry注册服务,之后函数类注入ITelemetryClient,可以直接发送自定义事件、业务指标、异常追踪等,同时应用运行的默认数据也会自动上传到AI。
  • 注册代码:
var options = new ApplicationInsightsServiceOptions { ConnectionString = SharedMethods.GetEnvironmentVariable("APPLICATIONINSIGHTS_CONNECTION_STRING") };
builder.Services.AddApplicationInsightsTelemetry(options);
  • 适合场景:
    • 需要发送业务相关的自定义遥测(比如用户下单事件、支付成功率指标)。
    • 想要全面监控应用的运行状态,比如请求响应时间、数据库调用耗时。
    • 需要用到AI的高级功能,比如遥测采样、自定义遥测处理器。

核心差异对比

对比维度Microsoft.Extensions.Logging.ApplicationInsightsMicrosoft.ApplicationInsights.AspNetCore
核心功能仅日志转发到AI完整遥测+日志+自动监控
依赖的核心API基于.NET标准ILogger抽象直接依赖AI专属的ITelemetryClient等API
自动收集默认遥测无自动收集自动收集请求、依赖、性能等数据
自定义遥测支持仅能通过结构化日志间接实现完全支持自定义事件、指标、异常等

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:15:26