Google App Engine-日志消息不可见

时间:2019-02-11 03:43:06

标签: java google-app-engine logging google-cloud-platform

我将Spring Boot应用程序部署到GCP App Engine,并将logback作为日志记录框架。我面临的问题是找不到在代码中放入的记录器消息。我发现了类似的帖子:Google App Engine - Can not find my logging messages。但是它已经很老了,解决方案不再起作用。在这篇文章中,提到了手动设置记录器级别。在类似的行上,我使用logging.properties文件将级别设置为INFO。但这仍然没有用。

我认为问题可能出在App Engine上的文件许可权上。因此,我在/tmp处指定了具有完全读写权限的日志文件位置。它不起作用。如果有任何异常情况,则堆栈跟踪在Stackdriver Logging中可见。请提出建议。

1 个答案:

答案 0 :(得分:1)

这是我设法使日志显示在java.log下的Stackdriver中的方法。

我创建了一个文件myApp/src/main/resources/logback.xml并添加了以下配置:

<configuration>
  <appender name="STDOUT" class="com.google.cloud.logging.logback.LoggingAppender">
  </appender>

  <root level="info">
          <appender-ref ref="STDOUT"/>    
  </root>
</configuration>

我还在文件myApp/pom.xml中添加了依赖项:

<dependencies>

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-logging-logback</artifactId>
      <version>0.80.0-alpha</version>
    </dependency>

    <!-- other dependencies -->

</dependencies>

然后在main.javalogger.info("my info log")中执行logger.error("my error log")SpenPenDetachmentListener,访问网络应用几秒钟后,日志就会显示在Stackdriver中。

我从GoogleCloudPlatform/getting-started-java存储库中获取了示例代码来部署我的应用。