From 33849f82b4fac816b0aa36fcbca81ceba66c5c1d Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 13 Jan 2025 11:34:10 +0100 Subject: [PATCH] Polish "Logback StructuredLogFormatter exceptions are not visible to the user" See gh-43575 --- .../boot/logging/logback/FilteringStatusListener.java | 2 +- .../boot/logging/logback/LogbackLoggingSystem.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/FilteringStatusListener.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/FilteringStatusListener.java index b2625044a64..247272bb856 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/FilteringStatusListener.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/FilteringStatusListener.java @@ -27,7 +27,7 @@ import ch.qos.logback.core.status.StatusListener; * * @author Dmytro Nosan */ -final class FilteringStatusListener extends ContextAwareBase implements StatusListener, LifeCycle { +class FilteringStatusListener extends ContextAwareBase implements StatusListener, LifeCycle { private final StatusListener delegate; diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java index d143b37fb25..ebb47f9a619 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java @@ -495,8 +495,10 @@ public class LogbackLoggingSystem extends AbstractLoggingSystem implements BeanF FilteringStatusListener listener = new FilteringStatusListener(new OnErrorConsoleStatusListener(), Status.ERROR); listener.setContext(context); - context.getStatusManager().add(listener); - listener.start(); + boolean effectivelyAdded = context.getStatusManager().add(listener); + if (effectivelyAdded) { + listener.start(); + } } void setStatusPrinterStream(PrintStream stream) {