首页 > 解决方案 > 疯狂记录:AppEngine 标准 + Spring Boot 2

问题描述

我正在构建一个我认为是普通 RESTful 服务器的东西。我使用 Initializr 创建了 gradle 项目,添加了我的 AppEngine 依赖项,然后我就走了。我已经开发和使用该项目一段时间了,但我遇到了 WRT 日志记录问题。基本上,一切似乎都是交叉连接的,我无法更改任何配置。

通过查看启动日志,我想我可以识别到控制台至少三种不同的日志记录模式。添加 logback.xml 或 logging.properties 文件不会改变任何内容。我也尝试了 Log4J 配置,因为,为什么不呢?

在我的 gradle 文件中,我有:

implementation('org.springframework.boot:spring-boot-starter-web') {
    exclude module: 'spring-boot-starter-tomcat'
    exclude module: 'spring-boot-starter-logging'
    exclude group: 'ch.qos.logback'
}

我将配置中的 jul-to-slf4j 排除为:

configurations {
    compile.exclude group: "org.slf4j", module: "jul-to-slf4j"
}

当应用程序启动时,我会收到通常的 AppEngine 消息:

INFO: Overwriting system property key 'java.util.logging.config.file', value 'path\to\my\logging.properties'

但随后我立即遭到 log barf 的袭击

 2019-03-07 15:59:40.144:WARN:oeja.AnnotationParser:qtp258931371-29: com.google.appengine.repackaged.com.google.common.collect.MapMakerInternalMap$StrongKeyStrongValueEntry scanned from multiple locations: jar:file:///C:/micro_c/workbench/api/build/libs/exploded/workbench-0.0.3-SNAPSHOT.war/WEB-INF/lib/appengine-endpoints-1.9.71.jar!/com/google/appengine/repackaged/com/google/common/collect/MapMakerInternalMap$StrongKeyStrongValueEntry.class, jar:file:///C:/micro_c/workbench/api/build/libs/exploded/workbench-0.0.3-SNAPSHOT.war/WEB-INF/lib/appengine-api-1.0-sdk-1.9.71.jar!/com/google/appengine/repackaged/com/google/common/collect/MapMakerInternalMap$StrongKeyStrongValueEntry.class

几乎所有依赖项。

此外,我收到一些红色消息,一些白色消息。有些看起来像是 Log4J 格式,有些看起来像是 java.util.logging 格式,有些是另一种未定义的格式。

我已经尝试了我能想到的一切来像往常一样实际配置它,但它似乎并没有在听我说话。我想关于重复类的日志可能会造成一些冲突,但我只是不确定如何继续。

几点注意事项:

任何建议,将不胜感激!

标签: spring-bootgoogle-app-enginelogging

解决方案


推荐阅读