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

如何禁用Azure Functions默认日志并区分自定义与内置日志?

解决Azure Functions默认日志级别覆盖与自定义日志区分问题

一、区分自定义日志与默认日志的正确配置

别直接修改AzureFunctionsJobHost__logging__LogLevel__Default,这个全局配置会统一调整所有日志级别,导致你的自定义Info日志无法写入App Insights。正确做法是针对Functions内置日志的命名空间单独设置级别,过滤掉不需要的内置低级别日志,同时保留自定义日志的原有级别。

内置日志主要来自Microsoft.Azure.WebJobs、Microsoft.Azure.WebJobs.Host这些命名空间,你可以在应用设置里添加以下配置:

AzureFunctionsJobHost__logging__LogLevel__Microsoft.Azure.WebJobs=Warning
AzureFunctionsJobHost__logging__LogLevel__Microsoft.Azure.WebJobs.Host=Warning
AzureFunctionsJobHost__logging__LogLevel__YourCustomNamespace=Information

(把YourCustomNamespace替换成你自己代码的命名空间)

这样内置的Info及以下级别的日志会被屏蔽,而你自己编写的Info日志能正常写入App Insights。

二、关于AzureWebJobsDashboard设置的说明

AzureWebJobsDashboard是Azure Functions v1版本的旧配置,v2及以上版本已经废弃了这个设置,所以你在应用设置里找不到是正常的。新版完全不需要依赖这个配置控制内置日志,用上面的命名空间级别配置就足够了。

三、隔离进程模型的特殊情况

如果你的函数使用隔离进程模型(Isolated Worker),配置键名要换成针对Worker的命名空间:

Logging__LogLevel__Microsoft.Azure.Functions.Worker=Warning
Logging__LogLevel__YourCustomNamespace=Information

内容的提问来源于stack exchange,提问作者Dumitru Laurenţiu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:01:04