首页 > 解决方案 > spring-cloud-gcp-starter-logging:当“此请求导致启动新进程”时未显示子日志

问题描述

我按照指南在我的 Java11 Google App Engine 应用程序中配置了 Cloud Logging 实现

在 Cloud Logging UI 中,我可以看到同一请求的日志行被分组在一个共同的父项下,这正是我想要的。它正在工作: 在此处输入图像描述

我发现当一个请求实际上触发了一个新实例时,这种行为是行不通的: 在此处输入图像描述 你可以看到没有任何孩子,只有关于正在创建的实例的日志: This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.

如果我按特定的 traceId 过滤,我实际上可以看到该特定请求的日志,这里唯一缺少的部分是未显示在共同父项下的部分: 在此处输入图像描述

我缺少配置吗?这是一种已知的行为吗?这是我现在的logback-spring.xml

<!-- https://spring-gcp.saturnism.me/app-dev/observability/logging#logback -->

<configuration>
   <include resource="org/springframework/boot/logging/logback/defaults.xml" />
   <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

   <springProfile name="development | stage | production">
      <include resource="org/springframework/cloud/gcp/logging/logback-json-appender.xml" />
      <root level="INFO">
         <appender-ref ref="CONSOLE_JSON" />
      </root>
   </springProfile>
   <springProfile name="default | localhost">
      <root level="INFO">
         <appender-ref ref="CONSOLE" />
      </root>
   </springProfile>
</configuration>

标签: spring-bootgoogle-app-enginegoogle-cloud-logging

解决方案


推荐阅读