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

ASP.NET Core 3.1中LogInformation无法写入Application Insights问题

问题解决:ASP.NET Core 3.1中LogInformation无法写入Application Insights

可能的原因及修复方案

1. 明确指定日志类别的LogLevel

默认的Default级别可能未覆盖LogService所在的命名空间,需在配置中明确添加该类/命名空间的日志级别:
修改appSettings.Development.json:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "你的项目命名空间.LogService": "Information"
    }
  },
  "ApplicationInsights": {
    "LogLevel": {
      "Default": "Information",
      "你的项目命名空间.LogService": "Information"
    },
    "ConnectionString": "secret"
  }
}

将你的项目命名空间替换为LogService实际所在的命名空间。

2. 调整日志占位符格式

你的LogInformation调用中使用了带空格的占位符{Log Info},部分版本可能存在解析异常,建议改为无空格的命名:

_logger.LogInformation("Parameters: {LogInfo}", _logConfig.IsLogEnabled);

3. 关闭Application Insights采样机制

默认采样会丢弃部分Information级别的日志(Error级别日志优先级高,不会被采样),可在配置中关闭采样:

{
  "ApplicationInsights": {
    "Sampling": {
      "Enabled": false
    },
    "LogLevel": {
      "Default": "Information"
    },
    "ConnectionString": "secret"
  }
}

4. 显式配置Application Insights日志收集

在Startup.cs中显式启用日志收集并开启调试日志(仅开发环境使用),便于排查日志是否正常发送:

services.AddApplicationInsightsTelemetry(options =>
{
    options.EnableDebugLogger = true;
});

5. 检查自定义TelemetryProcessor的过滤规则

如果项目中自定义了ITelemetryProcessor,确认没有过滤掉TraceTelemetry(对应Information级别的日志)——Error日志对应ExceptionTelemetry,通常不会被误过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:40:32