diff --git a/management/src/main/java/io/micronaut/management/endpoint/loggers/impl/LogbackLoggingSystem.java b/management/src/main/java/io/micronaut/management/endpoint/loggers/impl/LogbackLoggingSystem.java index 4f0ef79d681..c77506805c0 100644 --- a/management/src/main/java/io/micronaut/management/endpoint/loggers/impl/LogbackLoggingSystem.java +++ b/management/src/main/java/io/micronaut/management/endpoint/loggers/impl/LogbackLoggingSystem.java @@ -24,6 +24,7 @@ import io.micronaut.context.annotation.Replaces; import io.micronaut.context.annotation.Requires; import io.micronaut.core.annotation.NonNull; +import io.micronaut.core.annotation.Nullable; import io.micronaut.logging.LogLevel; import io.micronaut.logging.LoggingSystemException; import io.micronaut.management.endpoint.loggers.LoggerConfiguration; @@ -35,7 +36,6 @@ import java.net.URL; import java.util.Collection; import java.util.Objects; -import java.util.Optional; import java.util.stream.Collectors; /** @@ -51,8 +51,11 @@ public class LogbackLoggingSystem implements ManagedLoggingSystem, io.micronaut.logging.LoggingSystem { private static final String DEFAULT_LOGBACK_LOCATION = "logback.xml"; - @Property(name = "logger.config") - private Optional logbackXmlLocation; + private final String logbackXmlLocation; + + public LogbackLoggingSystem(@Nullable @Property(name = "logger.config") String logbackXmlLocation) { + this.logbackXmlLocation = logbackXmlLocation != null ? logbackXmlLocation : DEFAULT_LOGBACK_LOCATION; + } @Override @NonNull @@ -117,18 +120,17 @@ private static Level toLevel(LogLevel logLevel) { return Level.valueOf(logLevel.name()); } } - + @Override public void refresh() { LoggerContext context = getLoggerContext(); context.reset(); - String logbackXml = logbackXmlLocation.orElse(DEFAULT_LOGBACK_LOCATION); - URL resource = getClass().getClassLoader().getResource(logbackXml); + URL resource = getClass().getClassLoader().getResource(logbackXmlLocation); if (Objects.isNull(resource)) { - throw new LoggingSystemException("Resource " + logbackXml + " not found"); + throw new LoggingSystemException("Resource " + logbackXmlLocation + " not found"); } - try { + try { new ContextInitializer(context).configureByResource(resource); } catch (JoranException e) { throw new LoggingSystemException("Error while refreshing Logback", e); diff --git a/runtime/src/main/java/io/micronaut/logging/impl/LogbackLoggingSystem.java b/runtime/src/main/java/io/micronaut/logging/impl/LogbackLoggingSystem.java index a8b72e2b0ca..9aa81b153d5 100644 --- a/runtime/src/main/java/io/micronaut/logging/impl/LogbackLoggingSystem.java +++ b/runtime/src/main/java/io/micronaut/logging/impl/LogbackLoggingSystem.java @@ -45,7 +45,7 @@ public final class LogbackLoggingSystem implements LoggingSystem { private static final String DEFAULT_LOGBACK_LOCATION = "logback.xml"; - private String logbackXmlLocation; + private final String logbackXmlLocation; public LogbackLoggingSystem(@Nullable @Property(name = "logger.config") String logbackXmlLocation) { this.logbackXmlLocation = logbackXmlLocation != null ? logbackXmlLocation : DEFAULT_LOGBACK_LOCATION;