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

如何禁止DI GetRequiredService获取对象调用Async Method时的日志输出

解决异步方法调用时输出“Async Method”日志的问题

步骤1:定位日志来源

首先要明确这条日志的具体输出方,修改日志配置让控制台输出日志的**类别(Category)**信息,才能精准屏蔽。

在appsettings.json(或对应环境的配置文件)中调整Console日志格式,添加{Category}字段:

"Logging": {
  "Console": {
    "FormatterOptions": {
      "Format": "{Timestamp:HH:mm:ss} [{Level}] {Category}: {Message}{NewLine}{Exception}",
      "IncludeScopes": true,
      "TimestampFormat": "HH:mm:ss "
    }
  },
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}

重新运行项目后,就能在控制台看到“Async Method”日志对应的Category(常见如System.Runtime.CompilerServices.AsyncMethodBuilder或第三方库的命名空间)。

步骤2:针对性屏蔽日志

根据找到的Category,直接在日志配置中把该类别的日志级别设为None,彻底屏蔽:

"Logging": {
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Warning",
    "{找到的Category名称}": "None"
  }
}

比如排查后发现是System.Runtime.CompilerServices.AsyncMethodBuilder输出的,就配置:

"Logging": {
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Warning",
    "System.Runtime.CompilerServices.AsyncMethodBuilder": "None"
  }
}

步骤3:排查自定义或第三方日志拦截

  • 检查项目中是否有自定义的DiagnosticListener、日志拦截器或AOP逻辑,若存在针对异步方法的日志埋点,直接移除对应代码。
  • 如果是第三方依赖库输出的日志,查看该库文档确认是否有开关配置关闭这类日志,或者通过上述日志配置方式屏蔽其Category。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 14:12:32