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

Azure Function向App Insights无法记录Warning级别以下日志

.NET 8 Azure Functions v4运行时低级别日志无法输出的解决方法

核心原因:运行时模式差异

旧函数采用v3进程内模式,新函数是v4隔离模式(.NET 8默认),两者日志配置逻辑不兼容,直接照搬旧配置会导致低级别日志被过滤。

正确配置方案

1. 更新host.json配置

针对隔离模式,需调整日志过滤规则,同时显式配置Application Insights的日志捕获级别:

{
  "version": "2.0",
  "logging": {
    "logLevel": {
      "Default": "None",
      "XXX.Azure.FunctionApps.Mailbox.Functions.GetMailFolders": "Trace"
    },
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": false
      },
      "logLevel": {
        "XXX.Azure.FunctionApps.Mailbox.Functions.GetMailFolders": "Trace"
      }
    }
  }
}
  • 隔离模式下,必须使用类的完整命名空间作为日志类别,Function.GetMailFolders这类进程内模式的规则不再生效
  • 在applicationInsights节点下单独配置logLevel,确保Application Insights能捕获到Trace/Debug/Information级别的日志

2. 调整Program.cs的日志过滤规则

在服务配置中添加日志过滤,确保Worker运行时的日志管道允许低级别日志传递:

using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

var host = new HostBuilder()
    .ConfigureFunctionsWebApplication()
    .ConfigureServices(services =>
    {
        services.AddApplicationInsightsTelemetryWorkerService();
        services.ConfigureFunctionsApplicationInsights();
        // 配置日志过滤,允许目标类的Trace级别日志
        services.AddLogging(builder =>
        {
            builder.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>(
                "XXX.Azure.FunctionApps.Mailbox.Functions.GetMailFolders", 
                LogLevel.Trace);
        });
    })
    .Build();

host.Run();

3. 验证日志类别

ILogger<GetMailFolders>对应的日志类别是完整命名空间+类名(即XXX.Azure.FunctionApps.Mailbox.Functions.GetMailFolders),本地运行时可通过控制台日志的前缀确认类别是否正确。

额外注意事项

  • 即使禁用了采样,Application Insights默认会过滤低级别日志,因此必须显式配置其logLevel
  • 本地测试时优先检查控制台是否输出低级别日志,排除本地日志管道的问题后再排查Application Insights的同步问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 00:27:17