Java 在运行集成测试时禁用Spring Cloud Sleuth?
使用Java 在运行集成测试时禁用Spring Cloud Sleuth?,java,spring-boot,stackdriver,spring-cloud-sleuth,spring-cloud-gcp,Java,Spring Boot,Stackdriver,Spring Cloud Sleuth,Spring Cloud Gcp,使用org.springframework.cloud:springcloud gcp starter trace:1.0.0.RELEASE并在本地运行集成测试时,我会收到以下错误消息: org.springframework.beans.factory.BeanCreationException:错误 创建在类路径中定义了名为“stackdriverSender”的bean 资源 [org/springframework/cloud/gcp/autoconfigure/trace/Stack
org.springframework.cloud:springcloud gcp starter trace:1.0.0.RELEASE
并在本地运行集成测试时,我会收到以下错误消息:
org.springframework.beans.factory.BeanCreationException:错误
创建在类路径中定义了名为“stackdriverSender”的bean
资源
[org/springframework/cloud/gcp/autoconfigure/trace/StackdriverTraceAutoConfiguration.class]:
通过工厂方法实例化Bean失败;嵌套异常是
org.springframework.beans.BeanInstantiationException:未能
实例化[zipkin2.reporter.Sender]:工厂方法
“stackdriverSender”引发异常;嵌套异常是
java.io.IOException:应用程序默认凭据不可用
可用。如果在谷歌计算引擎中运行,它们是可用的。
否则,环境变量GOOGLE\u APPLICATION\u CREDENTIALS
必须指向定义凭据的文件来定义。看见
了解更多信息
这是完全可以理解的,因为这个环境变量在本地不存在,我不想在运行测试时使用Sleuth/Stackdriver跟踪。我已经查看了,但我似乎只能找到关于如何禁用特定集成点(如RxJava、RestTemplate等)的Sleuth的信息。但是如何完全禁用Sleuth
我尝试设置
spring.sleuth.enabled=false
,但这似乎没有任何区别。我实际上是通过查看类的。如果使用GCP,解决方法是设置spring.cloud.GCP.trace.enabled=false
。这将禁用对所有集成点的跟踪。您可以禁用跟踪、日志记录并设置一个伪项目id,如下所示:
spring.cloud.gcp.project-id=fake-project-id
spring.cloud.gcp.logging.enabled=false
spring.cloud.gcp.trace.enabled=false