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

Azure Functions中如何隐藏非自定义日志,仅查看Python日志?

过滤Azure Functions日志流中的系统日志,专注自定义日志

一、直接在日志流中用查询过滤

Azure日志流支持Kusto查询语法,可快速筛选出你的自定义日志:

  • 若使用Python默认的logging.info(),日志默认归到Function类别,用以下查询:
traces
| where Category == "Function"
| order by timestamp desc
  • 若自定义了日志类别,替换Category值为你的类别名称即可。

二、通过host.json配置限制系统日志输出

修改项目根目录的host.json,调整日志级别与类别过滤规则:

  1. 针对Durable Functions的系统日志,单独提升其日志级别,减少Info级输出:
{
  "logging": {
    "logLevel": {
      "DurableTask.AzureStorage": "Warning",
      "DurableTask.Core": "Warning"
    },
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  }
}
  1. 若只想保留自身Function日志,可设置更严格的规则:
{
  "logging": {
    "logLevel": {
      "default": "None",
      "Function": "Information"
    }
  }
}

注意:default设为None会关闭所有未明确配置的类别日志,若需保留其他系统日志,需单独指定对应类别的日志级别。

三、自定义Python日志类别(精准区分)

在代码中给日志指定专属类别,方便后续过滤:

import logging
import azure.functions as func

# 创建自定义类别日志器
logger = logging.getLogger("MyAppLogs")

def main(req: func.HttpRequest) -> func.HttpResponse:
    logger.info("这是我的业务调试日志")
    return func.HttpResponse("处理完成")

之后在host.json中仅开启该类别的Info级日志,同时在日志流查询中用Category == "MyAppLogs"过滤。

补充:关于系统日志的说明

你看到的TaskActiviyDispatcher、linuxfunction1-control类日志是Durable Functions的内部运行日志,用于记录任务调度、租赁管理等流程。正常运行时这些Info级日志无影响,仅调试时会干扰视线;若Durable Functions出现异常,再开启这类日志排查即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:07:10