如何禁用Azure Function App中ElasticScaleControllerExtension的日志?
解决Azure Function App屏蔽ElasticScaleControllerExtension ping日志的方案
方案1:使用日志过滤器精准屏蔽目标请求
在host.json的logging节点下添加filters配置,针对/admin/host/ping请求的日志进行过滤:
{ "functionTimeout": "20:00:00", "version": "2.0", "logging": { "logLevel": { "default": "None", "Function": "Warning", "Host.Aggregator": "Error", "Host.Function.Console": "Information", "Function.Heartbeat": "None", "Function.HttpStart.User": "Information", "Function.TimerStart.User": "Information", "Function.ExportSequence.User": "Information", "Function.ExportTable.User": "Information" }, "filters": [ { "category": "Host.Requests", "level": "Information", "exclude": true, "when": { "contains": { "uri": "/admin/host/ping" } } } ], "applicationInsights": { "samplingSettings": { "isEnabled": true, "excludedTypes": "Request" }, "enableLiveMetricsFilters": true } } }
配置说明
category: "Host.Requests":目标日志属于Host进程的请求日志类别level: "Information":匹配日志的级别(Executing/Executed HTTP request均为Information级)exclude: true:符合条件的日志将被排除when.contains.uri:精准匹配请求路径为/admin/host/ping的日志
如果上述配置未生效,可尝试匹配日志消息内容替代uri属性:
"filters": [ { "category": "Host.Requests", "level": "Information", "exclude": true, "when": { "contains": { "message": "/admin/host/ping" } } } ]
方案2:全局调整Host请求日志级别(激进方案)
如果不需要保留任何Host层面的正常请求日志,可直接将Host.Requests的日志级别设为None,彻底屏蔽该类别下的所有日志:
"logLevel": { // 原有配置不变 "Host.Requests": "None" }
注意事项
- 此方案会屏蔽所有Host进程生成的请求日志,包括用户业务请求的Executing/Executed日志,仅建议在无需关注这些日志场景下使用。
验证配置生效
修改host.json后,重启Function App,观察日志流或Application Insights,确认/admin/host/ping相关的两条日志不再出现。
内容的提问来源于stack exchange,提问作者Bonnie
相关产品推荐
相关产品推荐

