From b3d0d49cc05583c2eb6d961755491f62a37e3d76 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:45:14 +0200 Subject: [PATCH] Bump version.io.micronaut from 4.1.0 to 4.1.1 (#197) * Bump version.io.micronaut from 4.1.0 to 4.1.1 Bumps `version.io.micronaut` from 4.1.0 to 4.1.1. Updates `io.micronaut.platform:micronaut-platform` from 4.1.0 to 4.1.1 - [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases) - [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.1.0...v4.1.1) Updates `io.micronaut:micronaut-inject-java` from 4.1.0 to 4.1.1 - [Release notes](https://github.com/micronaut-projects/micronaut-core/releases) - [Changelog](https://github.com/micronaut-projects/micronaut-core/blob/4.1.x/RELEASE.adoc) - [Commits](https://github.com/micronaut-projects/micronaut-core/compare/v4.1.0...v4.1.1) --- updated-dependencies: - dependency-name: io.micronaut.platform:micronaut-platform dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.micronaut:micronaut-inject-java dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * fix build --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Stephan Schnabel --- pom.xml | 5 ++- .../logging/mdc/MDCTurboFilterConfigurer.java | 36 ++++++++++++++++--- src/test/resources/application-test-mdc.yaml | 2 ++ 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index adb5d81..b5b8087 100644 --- a/pom.xml +++ b/pom.xml @@ -64,14 +64,13 @@ 17 17 - - 1C + class - 4.1.0 + 4.1.1 diff --git a/src/main/java/io/kokuwa/micronaut/logging/mdc/MDCTurboFilterConfigurer.java b/src/main/java/io/kokuwa/micronaut/logging/mdc/MDCTurboFilterConfigurer.java index 5dfab9a..7f4b176 100644 --- a/src/main/java/io/kokuwa/micronaut/logging/mdc/MDCTurboFilterConfigurer.java +++ b/src/main/java/io/kokuwa/micronaut/logging/mdc/MDCTurboFilterConfigurer.java @@ -1,5 +1,6 @@ package io.kokuwa.micronaut.logging.mdc; +import java.util.Collection; import java.util.Set; import org.slf4j.Logger; @@ -13,33 +14,58 @@ import io.micronaut.context.annotation.Requires; import io.micronaut.context.env.Environment; import io.micronaut.core.type.Argument; import io.micronaut.core.util.StringUtils; +import io.micronaut.logging.LogLevel; +import io.micronaut.logging.LoggingSystem; /** * Configure MDC filter. * * @author Stephan Schnabel */ +@BootstrapContextCompatible @Requires(beans = LogbackUtil.class) @Requires(property = MDCTurboFilterConfigurer.PREFIX) @Requires(property = MDCTurboFilterConfigurer.PREFIX + ".enabled", notEquals = StringUtils.FALSE) -@BootstrapContextCompatible @Context -public class MDCTurboFilterConfigurer { +public class MDCTurboFilterConfigurer implements LoggingSystem { public static final String PREFIX = "logger.mdc"; private static final Logger log = LoggerFactory.getLogger(MDCTurboFilterConfigurer.class); + private final LogbackUtil logback; private final Environment environment; + private Collection mdcs = Set.of(); + private boolean initialized; + public MDCTurboFilterConfigurer(LogbackUtil logback, Environment environment) { this.logback = logback; this.environment = environment; - configure(); + this.refresh(); } - public void configure() { - for (var name : environment.getPropertyEntries(PREFIX)) { + @Override + public void refresh() { + + mdcs = environment.getPropertyEntries(PREFIX); + initialized = false; + + if (environment.getProperties("logger.levels").isEmpty()) { + log.warn("MDCs are configured, but no levels are set. MDC may not work."); + } + } + + @Override + public void setLogLevel(String name, LogLevel level) { + if (!initialized) { + configure(); + initialized = true; + } + } + + private void configure() { + for (var name : mdcs) { var prefix = PREFIX + "." + name + "."; var key = environment.getProperty(prefix + "key", String.class, name); diff --git a/src/test/resources/application-test-mdc.yaml b/src/test/resources/application-test-mdc.yaml index c0fd2a2..69cbc89 100644 --- a/src/test/resources/application-test-mdc.yaml +++ b/src/test/resources/application-test-mdc.yaml @@ -1,4 +1,6 @@ logger: + levels: + io.micronaut.logging.PropertiesLoggingLevelsConfigurer: "OFF" mdc: key1: key: key