【发布时间】:2019-09-12 00:31:49
【问题描述】:
当将错误记录到 stackdriver 时,每条消息都记录为 INFO,即使使用 log.error 或 log.warn 等,但有效负载是正确的。
我希望能够按严重性过滤并收到错误电子邮件。
我正在使用 Spring Boot 和 Logback。该应用已部署在 GCP 上的 Kubernetes 集群上。
这是我的 logback-spring.xml
<configuration>
<include resource="org/springframework/cloud/gcp/autoconfigure/logging/logback-appender.xml" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss, UTC} %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<springProfile name="prod,qa">
<root level="WARN">
<appender-ref ref="STACKDRIVER" />
</root>
</springProfile>
</configuration>
这是在 Maven 中添加的 dep
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-logging</artifactId>
</dependency>
Spring Boot 版本:2.1.3.RELEASE
Spring Cloud 版本:Greenwich.RELEASE
这个配置有什么问题?有没有其他解决办法?
编辑:刚刚意识到上面的 STACKDRIVER appender 不是记录到 Stackdriver 的那个,但 STDOUT 就足够了(也许它是一个 Kubernetes 集群?),但问题仍然存在
【问题讨论】:
-
你需要logback来单独记录吗?您可以在使用 spring boot 时将其保存在 application.yml 中。检查这个mkyong.com/spring-boot/spring-boot-slf4j-logging-example
标签: spring-boot google-cloud-platform logback stackdriver spring-cloud-gcp