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

.NET6中Application Insights未捕获ILogger日志问题求助

.NET6下Application Insights无法捕获ILogger日志的问题

我们刚升级到.NET6,遇到Application Insights资源无法显示任何通过ILogger发送的数据的问题。目前App Insights能正常捕获崩溃、请求、依赖项等数据,但ILogger输出的日志完全没有出现在资源中。尝试查找相关解决方案,但多数内容要么不适用于.NET6,要么没有明确可行的步骤,官方文档也似乎未针对.NET6做完整更新。

当前配置与现象

项目启动代码

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddTransient<ISomeService, SomeService>();
builder.Services.AddApplicationInsightsTelemetry();
builder.Services.AddLogging();

builder.Services.AddControllers();

var app = builder.Build();

app.MapControllers();
app.Run();

注:未手动指定Azure连接字符串,但App Insights能捕获请求和崩溃数据,说明连接配置正常,且已在App Service门户完成相关参数配置。

控制器业务代码

[ApiController]
[Route("[controller]")]
public class SomeProcessController : ControllerBase
{
    private readonly ISomeService someService;
    private readonly ILogger<SomeProcessController> logger;

    public SomeProcessController(
        ISomeService someService,
        ILogger<SomeProcessController> logger)
    {
        this.someService= someService;
        this.logger = logger;
    }

    public async Task<ActionResult<bool>> SomeProcess()
    {
        try
        {
            logger.LogInformation("Start");
            var result = await someService.DoSomethingAsync(CancellationToken.None);
            logger.LogInformation("Finish");
            return result;
        }
        catch (Exception ex)
        {
            logger.LogCritical(ex, "Error while processing");
            throw;
        }
    }
}

异常测试场景

修改代码人为抛出异常:

try
{
    logger.LogInformation("Start");
    throw new Exception("TEST - CRASH!");
    var result = await someService.DoSomethingAsync(CancellationToken.None);
    logger.LogInformation("Finish");
    return result;
}
catch (Exception ex)
{
    logger.LogCritical(ex, "Error while processing");
    throw;
}

测试结果:App Insights中能找到TEST - CRASH!的异常条目,但看不到catch块中的Error while processing日志,正常流程中的Start和Finish日志也完全缺失。

appSettings.json配置

{
  "APPLICATIONINSIGHTS_CONNECTION_STRING": "****",
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "ConnectionStrings": {
    "default": "****"
  }
}

待解决的问题

  1. 主问题:当前配置缺少什么环节,导致Application Insights无法捕获ILogger日志?
  2. 次要问题:如何通过Azure App Service门户的设置,覆盖项目中的日志配置?
  3. 第三问题:为何遇到Application Insights相关问题时,用户很难找到明确可行的解决方案?官方文档对.NET6的适配似乎不够及时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:30:52