升级至.NET 7后如何抑制Azure WebJobs的队列连接日志?
隐藏Azure WebJobs队列连接日志的方法
调整配置文件日志过滤
在appsettings.json(或对应环境的配置文件如appsettings.Development.json)的Logging节点中,针对Azure队列相关的日志类别设置更高的日志级别(比如Warning或Error),过滤掉频繁的信息级日志。示例配置:{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information", // 精准过滤Azure队列相关日志 "Azure.Storage.Queues": "Warning", "Microsoft.Azure.WebJobs.Host.Queues": "Warning" } } }要是不确定具体的日志类别,可以先开启日志类别显示,找到对应名称后再精准过滤。开启方式是在配置中添加:
"Logging": { "IncludeScopes": false, "Console": { "FormatterName": "simple", "FormatterOptions": { "IncludeCategory": true } } }代码层面配置日志过滤
也可以在Program.cs里配置日志提供器时添加过滤规则,直接在代码中控制:var builder = new HostBuilder(); builder.ConfigureLogging(logging => { // 设置指定类别的日志级别 logging.AddFilter("Azure.Storage.Queues", LogLevel.Warning); logging.AddFilter("Microsoft.Azure.WebJobs.Host.Queues", LogLevel.Warning); }) .ConfigureWebJobs(b => { b.AddAzureStorageQueues(); });补充:调整WebJobs队列轮询配置
虽然这不是直接隐藏日志,但可以通过调整队列轮询的相关配置减少日志触发频率。在appsettings.json的AzureWebJobs节点中修改:"AzureWebJobs": { "Queues": { "BatchSize": 16, "NewBatchThreshold": 8, "MaxDequeueCount": 5, "VisibilityTimeout": "00:00:30" } }不过最直接解决日志泛滥的还是日志级别过滤的方法。
内容的提问来源于stack exchange,提问作者Ricardo Gaefke
相关产品推荐
相关产品推荐

