From 4c4a43ac0d4caf71d3735e04b06ae45321bc102f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Sep 2023 20:29:44 +0000 Subject: [PATCH 1/2] 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] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index adb5d81..78cdcc9 100644 --- a/pom.xml +++ b/pom.xml @@ -71,7 +71,7 @@ - 4.1.0 + 4.1.1 -- 2.47.2 From e4388e01b9f0d146ca0991ba1b066c43f7d998a0 Mon Sep 17 00:00:00 2001 From: Stephan Schnabel Date: Fri, 15 Sep 2023 10:34:37 +0200 Subject: [PATCH 2/2] fix build --- pom.xml | 3 +- .../logging/mdc/MDCTurboFilterConfigurer.java | 36 ++++++++++++++++--- src/test/resources/application-test-mdc.yaml | 2 ++ 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 78cdcc9..b5b8087 100644 --- a/pom.xml +++ b/pom.xml @@ -64,8 +64,7 @@ 17 17 - - 1C + class 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 -- 2.47.2