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

Azure Application Insights仅记录错误状态码无详情的技术求助

解决方案

1. 捕获并记录完整异常信息

添加全局异常处理中间件,确保未处理的异常被Serilog完整记录:

app.UseExceptionHandler(errorApp =>
{
    errorApp.Run(async context =>
    {
        var exceptionFeature = context.Features.Get<IExceptionHandlerPathFeature>();
        if (exceptionFeature?.Error != null)
        {
            // 记录异常详情,包含栈跟踪和请求路径
            Log.Error(exceptionFeature.Error, "未处理异常,请求路径:{Path}", exceptionFeature.Path);
        }

        context.Response.StatusCode = StatusCodes.Status500InternalServerError;
        await context.Response.WriteAsync("服务器发生未预期错误");
    });
});

在业务代码中捕获异常时,需把异常对象传递给Serilog,保留完整错误信息:

try
{
    // 业务逻辑代码
}
catch (Exception ex)
{
    Log.Error(ex, "处理[{Operation}]时失败", "用户创建");
    return BadRequest("请求处理失败");
}

2. 调整Serilog配置,保证日志级别与上下文完整

在appsettings.json中配置Serilog最小日志级别,确保Error及以上级别的日志被采集:

"Serilog": {
  "MinimumLevel": {
    "Default": "Information",
    "Override": {
      "Microsoft": "Warning",
      "System": "Warning"
    }
  }
}

修改Serilog的Application Insights写入配置,添加上下文信息(如请求ID):

.UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration
    .ReadFrom.Configuration(hostingContext.Configuration)
    .Enrich.FromLogContext()
    .WriteTo.ApplicationInsights(telemetryConfiguration, TelemetryConverter.Traces))

3. 启用Application Insights原生请求与异常收集

添加官方Microsoft.ApplicationInsights.AspNetCore包,启用自动采集功能,它会自动收集请求详情、异常栈、依赖调用等数据,且能和Serilog日志通过Operation ID关联:

builder.Services.AddApplicationInsightsTelemetry(options =>
{
    options.ConnectionString = builder.Configuration["ApplicationInsights:ConnectionString"];
    options.SetAzureTokenCredential(new DefaultAzureCredential());
});

4. 在Application Insights中查看详细日志

  • 进入Failures面板:这里会聚合所有失败请求,点击具体条目可查看完整请求链路、异常栈、关联日志。
  • 进入Traces面板:筛选Level:Error,点击单条日志的「详情」按钮,即可查看完整的错误描述、栈跟踪及上下文信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 15:09:53