ASP.NET Cloud 上的 Core 6 应用程序 运行 未将日志路由到 Cloud Logging

ASP.NET Core 6 app on Cloud Run not routing logs to Cloud Logging

我的 ASP.NET Core 6.0 网站 运行 在 Cloud 运行 上的容器中配置为通过调用 [=12] 登录到 Google Cloud Logging =].

这适用于我的生产云 运行 网站,但不适用于开发测试。两个服务帐户都具有日志写入者角色。

错在我。是的,这个问题没有帮助,但公平地说,这个问题没有太多可移动的部分*。

我的代码否定了生产检查。我没能发现 ! 并且被它在生产中工作的事实分散了注意力,而当它最初在生产中不起作用时是因为 IAM 权限。

它可能在生产中有效,因为 a) 部署的代码较旧,不同 b) 其配置中的某些内容正在启用控制台记录器。

        if (!this.HostingEnvironment.IsProductionLike())
        {
            AddGoogleDiagnostics(services);
        }

查找故障涉及添加控制器操作以从 IServiceProvider 获取和 return 一个 ILoggerProvider,当 curl 调用时它为 null,导致我查看再次在应该注册此类型的代码处,上面的代码。

结论:移动部件不多 = 可能是开发人员错误。

*我有这样的想法,如果每个人总是张贴他们所有的问题,然后是解决方案,无论它们看起来多么愚蠢,我们都会有一个很好的资源。我的大部分堆栈代表都来自于回答我自己的问题。