Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 它';在spring boot故障期间,diable Logging FailureAnalysisReporter是否可能发生故障?_Java_Spring_Spring Boot - Fatal编程技术网

Java 它';在spring boot故障期间,diable Logging FailureAnalysisReporter是否可能发生故障?

Java 它';在spring boot故障期间,diable Logging FailureAnalysisReporter是否可能发生故障?,java,spring,spring-boot,Java,Spring,Spring Boot,在spring引导失败期间,是否可以禁用日志FailureAnalysisReporter执行?我定制了自己的FailureAnalysisReporter,我不想报告“两次”。您可以通过覆盖spring.Factorys配置spring boot: 更换: # FailureAnalysisReporters org.springframework.boot.diagnostics.FailureAnalysisReporter=\ org.springframework.boot.diagn

在spring引导失败期间,是否可以禁用日志FailureAnalysisReporter执行?我定制了自己的
FailureAnalysisReporter
,我不想报告“两次”。

您可以通过覆盖
spring.Factorys
配置
spring boot

更换:

# FailureAnalysisReporters
org.springframework.boot.diagnostics.FailureAnalysisReporter=\
org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter
# FailureAnalysisReporters
org.springframework.boot.diagnostics.FailureAnalysisReporter=\
your.own.implementation.of.FailureAnalysisReporter
与:

# FailureAnalysisReporters
org.springframework.boot.diagnostics.FailureAnalysisReporter=\
org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter
# FailureAnalysisReporters
org.springframework.boot.diagnostics.FailureAnalysisReporter=\
your.own.implementation.of.FailureAnalysisReporter
更新:

# FailureAnalysisReporters
org.springframework.boot.diagnostics.FailureAnalysisReporter=\
org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter
# FailureAnalysisReporters
org.springframework.boot.diagnostics.FailureAnalysisReporter=\
your.own.implementation.of.FailureAnalysisReporter
重写
spring.factories
意味着在
项目根/src/main/resources/META-INF
下创建
spring.factories
文件。因此
springboot
将加载覆盖的属性,并保持其他属性不变

Spring引导检查是否存在META-INF/Spring.factories 在您发布的jar中创建一个文件。该文件应列出您的 EnableAutoConfiguration键下的配置类


请参阅文档:

我刚刚找到了一种归档我想要的内容的方法,只需将:
添加到我的
logback
配置将禁用该类的任何日志记录,这基本上是
LoggingFailureAnalysisReporter
要做的唯一事情。

你的意思是,覆盖文件
spring boot project/spring boot/src/main/resources/META-INF/spring.factories
?可以,但这不是一个可行的解决方案,因为我必须维护一个自定义jar。重写spring.factories意味着在根项目/src/main/resources/META-INF下创建一个spring.factories。因此,spring boot将加载重写的属性并保留其他属性。请参阅文档:是的,我已经这样做了,
LoggingFailureAnalysisReporter
仍然会执行,因为我的自定义
FailureAnalysisReporter
也会进行一些故障排除,以查看您项目的spring.factories是否真的由spring Boot加载。实际上,我做了一些进一步的调查,在spring工厂加载过程中(
org.springframework.core.io.support.SpringFactoriesLoader#loadSpringFactories
),spring使用
多值映射将从所有
src/main/resources/META-INF
资源中找到的所有键相加,因此,相同键的多个值被存储,而不是被覆盖。