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

Azure Functions独立工作者能否将运行时日志输出到控制台?

.NET 6 Azure Functions独立工作者显示Executing/Executed日志到控制台的解决方案

可以实现,按以下步骤调整配置即可:

  • 修改host.json配置
    重点要指定Worker相关命名空间的日志级别,并关闭控制台日志级别过滤,确保低级别日志能输出:

    {
      "logging": {
        "logLevel": {
          "default": "Information",
          "Microsoft.Azure.Functions.Worker": "Information",
          "Microsoft.Azure.Functions.Worker.Extensions.Http": "Information"
        },
        "console": {
          "isEnabled": true,
          "enableConsoleLogLevelFilter": false
        },
        "applicationInsights": {
          "samplingSettings": {
            "isEnabled": true,
            "excludedTypes": "Request"
          }
        }
      }
    }
    

    这里Microsoft.Azure.Functions.Worker就是Executing/Executed日志所属的类别,必须单独设置级别为Information。

  • 检查Program.cs的日志配置
    确保独立工作者的主机配置中没有移除控制台日志提供者,默认ConfigureFunctionsWorkerDefaults会自动添加,但如果手动配置了日志服务,要明确包含控制台:

    var host = new HostBuilder()
        .ConfigureFunctionsWorkerDefaults(builder =>
        {
            builder.Services.AddLogging(logging =>
            {
                logging.AddConsole();
                // 不要添加会过滤Information级别的规则
            });
        })
        .Build();
    
    host.Run();
    
  • 验证local.settings.json
    如果之前在local.settings.json里设置过日志级别,确保Worker类别的级别正确:

    {
      "IsEncrypted": false,
      "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
        "AzureFunctionsJobHost__logging__logLevel__Microsoft.Azure.Functions.Worker": "Information"
      }
    }
    

    这个配置会覆盖host.json的对应项,所以如果这里设成了Warning或更低,就会看不到日志。

完成以上调整后,重启独立工作者应用,就能在控制台看到带info:前缀的Executing、Executed这类运行时日志了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 07:50:17