我将Spring Boot应用程序部署到GCP App Engine,并将logback作为日志记录框架。我面临的问题是找不到在代码中放入的记录器消息。我发现了类似的帖子:Google App Engine - Can not find my logging messages。但是它已经很老了,解决方案不再起作用。在这篇文章中,提到了手动设置记录器级别。在类似的行上,我使用logging.properties
文件将级别设置为INFO。但这仍然没有用。
我认为问题可能出在App Engine上的文件许可权上。因此,我在/tmp
处指定了具有完全读写权限的日志文件位置。它不起作用。如果有任何异常情况,则堆栈跟踪在Stackdriver Logging中可见。请提出建议。
答案 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.java
和logger.info("my info log")
中执行logger.error("my error log")
和SpenPenDetachmentListener
,访问网络应用几秒钟后,日志就会显示在Stackdriver中。
我从GoogleCloudPlatform/getting-started-java存储库中获取了示例代码来部署我的应用。