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

.NET项目中Serilog Application Insights Sink仅显示Requests不显示Traces

问题分析与解决方案

你遇到的Azure门户仅显示Requests而无Traces的问题,常见原因及修复方法如下:

1. 未明确设置Serilog最小日志级别

Serilog默认的最小日志级别若未显式配置,可能导致部分级别日志未被发送到Application Insights。在Serilog配置节点中添加MinimumLevel确保覆盖你需要的日志级别:

"Serilog": {
  "MinimumLevel": "Information",
  "Using": [ "Serilog.Sinks.ApplicationInsights" ],
  // 其他原有配置...
}

2. Application Insights采样规则过滤了Traces

默认自适应采样会在高流量场景下丢弃部分Traces,导致Azure门户无法看到完整数据。可禁用采样或调整采样比例:

"ApplicationInsights": {
  "ConnectionString": "InstrumentationKey=XXXX",
  "Sampling": {
    "Enabled": false, // 调试或低流量场景可直接禁用
    // 高流量场景可自定义采样比例:"Percentage": 100
  }
}

3. Serilog Sink未正确绑定连接字符串

虽然根节点配置了ApplicationInsights.ConnectionString,但Serilog Sink可能未自动读取该值,需在Sink参数中显式指定:

{
  "Name": "ApplicationInsights",
  "Args": {
    "connectionString": "InstrumentationKey=XXXX",
    "telemetryConverter": "Serilog.Sinks.ApplicationInsights.TelemetryConverters.TraceTelemetryConverter, Serilog.Sinks.ApplicationInsights"
  }
}

4. 依赖包版本不兼容

确保Serilog.Sinks.ApplicationInsights与Microsoft.ApplicationInsights.AspNetCore版本匹配,建议使用最新稳定版。以.NET 6+项目为例,更新NuGet包:

Install-Package Serilog.Sinks.ApplicationInsights -Version 4.0.0
Install-Package Microsoft.ApplicationInsights.AspNetCore -Version 2.21.0

5. Azure门户视图过滤或数据延迟

  • 直接用Kusto查询验证Traces是否已到达:在Application Insights的「日志」页面执行traces | limit 100
  • 遥测数据存在传输延迟,可等待5-10分钟后再查看

额外验证步骤

确认_logger.LogInformation("Test Log Entry");代码确实被执行(例如放在Program.cs初始化后或控制器方法中),避免因代码未触发导致无日志输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:05:36