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

如何在Azure函数应用中为含点号的日志类别配置运行时过滤级别?

解决Azure Function通过App Service应用设置精准配置日志类别的问题

问题场景

已有一个Azure Function应用,在appsettings.json中为日志类别MyCompany.IAM.AssetGovernance(基于C#命名空间)配置了Information级别的日志过滤。需要在运行时无需修改appsettings.json和重新部署的前提下,将该类别的日志级别调整为Debug。

尝试设置App Service应用设置键为Logging__LogLevel__MyCompany.IAM.AssetGovernance但无效,原因是Linux环境下App Service会将键中的点号“.”替换为单下划线“_”,导致无法匹配目标日志类别;若设置为Logging__LogLevel__MyCompany虽能生效,但会包含应用所有调试日志,范围过广。

解决方案

将日志类别名称中的每个点号“.”替换为双下划线“__”,设置App Service应用设置的键为:

Logging__LogLevel__MyCompany__IAM__AssetGovernance

对应值设置为Debug即可。

原理:Azure App Service在Linux环境中,不仅会将JSON嵌套结构的冒号“:”替换为双下划线“__”,对于日志类别这种带点号的命名空间层级,也可以通过双下划线替代点号的方式,让配置系统正确解析出对应的精准日志类别,避免点号被替换为单下划线导致的匹配失败。

文档参考

在默认Linux应用服务或自定义Linux容器中,应用设置名称中任何嵌套的JSON键结构(如ApplicationInsights:InstrumentationKey)需在App Service中配置为ApplicationInsights__InstrumentationKey,即冒号“:”需替换为双下划线“__”,应用设置名称中的任何点号会被替换为单下划线“_”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:17:34