From 8043c3eb6d7e87dbfaa5857f815a01851a72a6fa Mon Sep 17 00:00:00 2001 From: Stephan Schnabel Date: Sun, 2 Jul 2023 20:25:55 +0200 Subject: [PATCH] Bump to java 17 (micronaut dependency) --- .github/workflows/build.yaml | 2 +- .github/workflows/pr.yaml | 2 +- .github/workflows/release.yaml | 2 +- pom.xml | 4 +-- .../RootAutoSelectAppenderAction.java | 35 ++++++++----------- .../logging/http/mdc/HeaderMdcFilter.java | 10 ++---- .../micronaut/logging/layout/JsonLayout.java | 2 +- .../logging/http/mdc/PathMdcFilterTest.java | 6 ++-- 8 files changed, 27 insertions(+), 36 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c707358..ed8d009 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -19,7 +19,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: temurin - java-version: 11 + java-version: 17 cache: maven - run: mvn $MAVEN_ARGS dependency:go-offline - run: mvn $MAVEN_ARGS deploy diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 2034d14..f50580b 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -30,7 +30,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: temurin - java-version: 11 + java-version: 17 cache: maven - run: mvn $MAVEN_ARGS dependency:go-offline - run: mvn $MAVEN_ARGS verify diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 22c372f..4c719f1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -22,7 +22,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: temurin - java-version: 11 + java-version: 17 cache: maven server-id: sonatype-nexus server-username: SERVER_USERNAME diff --git a/pom.xml b/pom.xml index 940c33a..e305f70 100644 --- a/pom.xml +++ b/pom.xml @@ -62,8 +62,8 @@ - 11 - 11 + 17 + 17 diff --git a/src/main/java/io/kokuwa/micronaut/logging/configurator/RootAutoSelectAppenderAction.java b/src/main/java/io/kokuwa/micronaut/logging/configurator/RootAutoSelectAppenderAction.java index 1353690..1d0db03 100644 --- a/src/main/java/io/kokuwa/micronaut/logging/configurator/RootAutoSelectAppenderAction.java +++ b/src/main/java/io/kokuwa/micronaut/logging/configurator/RootAutoSelectAppenderAction.java @@ -30,12 +30,13 @@ public class RootAutoSelectAppenderAction extends Action { private static final String APPENDER_GCP = "GCP"; private static final String LOGBACK_APPENDER = "LOGBACK_APPENDER"; private static final String LOGBACK_PATTERN = "LOGBACK_PATTERN"; - private static final String LOGBACK_PATTERN_DEFAULT = "%cyan(%d{HH:mm:ss.SSS})" - + " %gray(%-6.6thread)" - + " %highlight(%-5level)" - + " %magenta(%32logger{32})" - + " %mdc" - + " %msg%n"; + private static final String LOGBACK_PATTERN_DEFAULT = """ + %cyan(%d{HH:mm:ss.SSS}) \ + %gray(%-6.6thread) \ + %highlight(%-5level) \ + %magenta(%32logger{32}) \ + %mdc \ + %msg%n"""; @Override public void begin(SaxEventInterpretationContext ic, String name, org.xml.sax.Attributes attributes) { @@ -70,21 +71,15 @@ public class RootAutoSelectAppenderAction extends Action { private void setAppender(Logger rootLogger, String appenderName) { addInfo("Use appender: " + appenderName); - Layout layout; - switch (appenderName) { - case APPENDER_JSON: - layout = json(); - break; - case APPENDER_GCP: - layout = gcp(); - break; - case APPENDER_CONSOLE: - layout = console(); - break; - default: + var layout = switch (appenderName) { + case APPENDER_JSON -> json(); + case APPENDER_GCP -> gcp(); + case APPENDER_CONSOLE -> console(); + default -> { addError("Appender " + appenderName + " not found. Using console ..."); - layout = console(); - } + yield console(); + } + }; layout.start(); var encoder = new LayoutWrappingEncoder(); diff --git a/src/main/java/io/kokuwa/micronaut/logging/http/mdc/HeaderMdcFilter.java b/src/main/java/io/kokuwa/micronaut/logging/http/mdc/HeaderMdcFilter.java index a59b425..a5a8b85 100644 --- a/src/main/java/io/kokuwa/micronaut/logging/http/mdc/HeaderMdcFilter.java +++ b/src/main/java/io/kokuwa/micronaut/logging/http/mdc/HeaderMdcFilter.java @@ -3,8 +3,6 @@ package io.kokuwa.micronaut.logging.http.mdc; import java.util.HashMap; import java.util.List; import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; import org.reactivestreams.Publisher; @@ -33,14 +31,14 @@ public class HeaderMdcFilter extends AbstractMdcFilter { public static final String PREFIX = "logger.http.header"; public static final int DEFAULT_ORDER = ServerFilterPhase.FIRST.before(); - private final Set headers; + private final List headers; public HeaderMdcFilter( @Value("${" + PREFIX + ".names}") List headers, @Value("${" + PREFIX + ".prefix}") Optional prefix, @Value("${" + PREFIX + ".order}") Optional order) { super(order.orElse(DEFAULT_ORDER), prefix.orElse(null)); - this.headers = headers.stream().map(String::toLowerCase).collect(Collectors.toSet()); + this.headers = headers.stream().map(String::toLowerCase).toList(); log.info("Configured with header names {}", headers); } @@ -48,9 +46,7 @@ public class HeaderMdcFilter extends AbstractMdcFilter { public Publisher> doFilter(HttpRequest request, ServerFilterChain chain) { var mdc = new HashMap(); for (var header : headers) { - request.getHeaders() - .getFirst(header) - .ifPresent(value -> mdc.put(header, String.valueOf(value))); + request.getHeaders().getFirst(header).ifPresent(value -> mdc.put(header, String.valueOf(value))); } return doFilter(request, chain, mdc); } diff --git a/src/main/java/io/kokuwa/micronaut/logging/layout/JsonLayout.java b/src/main/java/io/kokuwa/micronaut/logging/layout/JsonLayout.java index 9617549..48677e2 100644 --- a/src/main/java/io/kokuwa/micronaut/logging/layout/JsonLayout.java +++ b/src/main/java/io/kokuwa/micronaut/logging/layout/JsonLayout.java @@ -90,7 +90,7 @@ public class JsonLayout extends LayoutBase { var throwableProxy = value.getThrowableProxy(); if (throwableProxy != null) { var ex = throwableHandlingConverter.convert(value); - if (ex != null && !ex.equals("")) { + if (ex != null && !ex.isEmpty()) { map.put(fieldName, ex); } } diff --git a/src/test/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilterTest.java b/src/test/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilterTest.java index 3654d4d..3b7ac78 100644 --- a/src/test/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilterTest.java +++ b/src/test/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilterTest.java @@ -89,9 +89,9 @@ public class PathMdcFilterTest extends AbstractFilterTest { @DisplayName("mdc: test for documentation example") @Test - @Property(name = "logger.http.path.patterns", value = "" - + "\\/gateway\\/(?[a-f0-9\\-]{36})," - + "\\/gateway\\/(?[a-f0-9\\-]{36})\\/configuration\\/(?[a-z]+)") + @Property(name = "logger.http.path.patterns", value = """ + \\/gateway\\/(?[a-f0-9\\-]{36}),\ + \\/gateway\\/(?[a-f0-9\\-]{36})\\/configuration\\/(?[a-z]+)""") void mdcMatchExample() { var uuid = UUID.randomUUID().toString(); assertContext(Map.of("gatewayId", uuid), "/gateway/" + uuid);