diff --git a/pom.xml b/pom.xml
index d641a9f..3859186 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,7 +81,6 @@
1.2.8
0.1.5
3.2.3
- 1.18.22
@@ -171,13 +170,6 @@
test
-
-
- org.projectlombok
- lombok
- provided
-
-
ch.qos.logback
@@ -208,11 +200,6 @@
${version.org.apache.maven.plugins.compiler}
-
- org.projectlombok
- lombok
- ${version.org.projectlombok}
-
io.micronaut
micronaut-inject-java
diff --git a/src/main/java/io/kokuwa/micronaut/logging/http/AbstractMdcFilter.java b/src/main/java/io/kokuwa/micronaut/logging/http/AbstractMdcFilter.java
index c5d2ffa..b4634be 100644
--- a/src/main/java/io/kokuwa/micronaut/logging/http/AbstractMdcFilter.java
+++ b/src/main/java/io/kokuwa/micronaut/logging/http/AbstractMdcFilter.java
@@ -3,6 +3,8 @@ package io.kokuwa.micronaut.logging.http;
import java.util.Map;
import org.reactivestreams.Publisher;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import io.micronaut.core.async.publisher.Publishers;
@@ -18,6 +20,7 @@ import io.micronaut.http.filter.ServerFilterChain;
*/
public abstract class AbstractMdcFilter implements HttpServerFilter {
+ protected final Logger log = LoggerFactory.getLogger(getClass());
protected final int order;
protected final String prefix;
diff --git a/src/main/java/io/kokuwa/micronaut/logging/http/mdc/AuthenticationMdcFilter.java b/src/main/java/io/kokuwa/micronaut/logging/http/mdc/AuthenticationMdcFilter.java
index 66d3d3f..aea7557 100644
--- a/src/main/java/io/kokuwa/micronaut/logging/http/mdc/AuthenticationMdcFilter.java
+++ b/src/main/java/io/kokuwa/micronaut/logging/http/mdc/AuthenticationMdcFilter.java
@@ -17,7 +17,6 @@ import io.micronaut.http.filter.ServerFilterChain;
import io.micronaut.http.filter.ServerFilterPhase;
import io.micronaut.runtime.context.scope.Refreshable;
import io.micronaut.security.authentication.Authentication;
-import lombok.extern.slf4j.Slf4j;
/**
* Filter to add claims from authentication to MDC.
@@ -28,7 +27,6 @@ import lombok.extern.slf4j.Slf4j;
@Requires(classes = Authentication.class)
@Requires(property = AuthenticationMdcFilter.PREFIX + ".enabled", notEquals = StringUtils.FALSE)
@Filter("${" + AuthenticationMdcFilter.PREFIX + ".path:/**}")
-@Slf4j
public class AuthenticationMdcFilter extends AbstractMdcFilter {
public static final String PREFIX = "logger.http.authentication";
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 8ff5d50..a59b425 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
@@ -18,7 +18,6 @@ import io.micronaut.http.annotation.Filter;
import io.micronaut.http.filter.ServerFilterChain;
import io.micronaut.http.filter.ServerFilterPhase;
import io.micronaut.runtime.context.scope.Refreshable;
-import lombok.extern.slf4j.Slf4j;
/**
* Filter to add http headers to MDC.
@@ -29,7 +28,6 @@ import lombok.extern.slf4j.Slf4j;
@Requires(property = HeaderMdcFilter.PREFIX + ".enabled", notEquals = StringUtils.FALSE)
@Requires(property = HeaderMdcFilter.PREFIX + ".names")
@Filter("${" + HeaderMdcFilter.PREFIX + ".path:/**}")
-@Slf4j
public class HeaderMdcFilter extends AbstractMdcFilter {
public static final String PREFIX = "logger.http.header";
diff --git a/src/main/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilter.java b/src/main/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilter.java
index c8c490a..848e34d 100644
--- a/src/main/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilter.java
+++ b/src/main/java/io/kokuwa/micronaut/logging/http/mdc/PathMdcFilter.java
@@ -21,7 +21,6 @@ import io.micronaut.http.annotation.Filter;
import io.micronaut.http.filter.ServerFilterChain;
import io.micronaut.http.filter.ServerFilterPhase;
import io.micronaut.runtime.context.scope.Refreshable;
-import lombok.extern.slf4j.Slf4j;
/**
* Filter to add request path parts to MDC.
@@ -32,7 +31,6 @@ import lombok.extern.slf4j.Slf4j;
@Requires(property = PathMdcFilter.PREFIX + ".enabled", notEquals = StringUtils.FALSE)
@Requires(property = PathMdcFilter.PREFIX + ".patterns")
@Filter("${" + PathMdcFilter.PREFIX + ".path:/**}")
-@Slf4j
public class PathMdcFilter extends AbstractMdcFilter {
public static final String PREFIX = "logger.http.path";
diff --git a/src/main/java/io/kokuwa/micronaut/logging/layout/GcpJsonLayout.java b/src/main/java/io/kokuwa/micronaut/logging/layout/GcpJsonLayout.java
index 0cd52d8..d2bf04a 100644
--- a/src/main/java/io/kokuwa/micronaut/logging/layout/GcpJsonLayout.java
+++ b/src/main/java/io/kokuwa/micronaut/logging/layout/GcpJsonLayout.java
@@ -8,8 +8,6 @@ import java.util.Map;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.contrib.json.classic.JsonLayout;
import io.micronaut.core.util.StringUtils;
-import lombok.Setter;
-import lombok.experimental.Accessors;
/**
* GCP logging layout.
@@ -18,7 +16,6 @@ import lombok.experimental.Accessors;
* @see "https://cloud.google.com/logging/docs/agent/configuration#process-payload"
* @see "https://cloud.google.com/error-reporting/reference/rest/v1beta1/ServiceContext"
*/
-@Accessors(chain = false)
public class GcpJsonLayout extends JsonLayout {
private static final String UNDEFINED = "_IS_UNDEFINED";
@@ -26,9 +23,7 @@ public class GcpJsonLayout extends JsonLayout {
private static final String SEVERITY_ATTR_NAME = "severity";
private Map serviceContext;
- @Setter
private String serviceName;
- @Setter
private String serviceVersion;
@Override
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 e83217c..e3abfb4 100644
--- a/src/main/java/io/kokuwa/micronaut/logging/mdc/MDCTurboFilterConfigurer.java
+++ b/src/main/java/io/kokuwa/micronaut/logging/mdc/MDCTurboFilterConfigurer.java
@@ -2,6 +2,9 @@ package io.kokuwa.micronaut.logging.mdc;
import java.util.Set;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import ch.qos.logback.classic.Level;
import io.kokuwa.micronaut.logging.LogbackUtil;
import io.micronaut.context.annotation.BootstrapContextCompatible;
@@ -11,7 +14,6 @@ import io.micronaut.context.env.Environment;
import io.micronaut.core.annotation.Internal;
import io.micronaut.core.type.Argument;
import io.micronaut.core.util.StringUtils;
-import lombok.extern.slf4j.Slf4j;
/**
* Configure MDC filter.
@@ -24,11 +26,11 @@ import lombok.extern.slf4j.Slf4j;
@BootstrapContextCompatible
@Context
@Internal
-@Slf4j
public class MDCTurboFilterConfigurer {
public static final String PREFIX = "logger.mdc";
+ private static final Logger log = LoggerFactory.getLogger(MDCTurboFilterConfigurer.class);
private final LogbackUtil logback;
private final Environment environment;
diff --git a/src/test/java/io/kokuwa/micronaut/logging/http/AbstractFilterTest.java b/src/test/java/io/kokuwa/micronaut/logging/http/AbstractFilterTest.java
index 46fd6cd..56b68d0 100644
--- a/src/test/java/io/kokuwa/micronaut/logging/http/AbstractFilterTest.java
+++ b/src/test/java/io/kokuwa/micronaut/logging/http/AbstractFilterTest.java
@@ -2,6 +2,7 @@ package io.kokuwa.micronaut.logging.http;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.util.Map;
import java.util.function.Consumer;
@@ -9,8 +10,13 @@ import java.util.function.Consumer;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.nimbusds.jose.JOSEException;
import com.nimbusds.jwt.JWTClaimsSet;
import ch.qos.logback.classic.Level;
@@ -31,11 +37,6 @@ import io.micronaut.security.rules.SecurityRule;
import io.micronaut.security.token.jwt.signature.SignatureGeneratorConfiguration;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import jakarta.inject.Inject;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
/**
* Test for {@link HttpServerFilter}.
@@ -70,16 +71,19 @@ public abstract class AbstractFilterTest extends AbstractTest {
return token(subject, claims -> {});
}
- @SneakyThrows
public String token(String subject, Consumer manipulator) {
var claims = new JWTClaimsSet.Builder().subject(subject);
manipulator.accept(claims);
- return HttpHeaderValues.AUTHORIZATION_PREFIX_BEARER + " " + signature.sign(claims.build()).serialize();
+ try {
+ return HttpHeaderValues.AUTHORIZATION_PREFIX_BEARER + " " + signature.sign(claims.build()).serialize();
+ } catch (JOSEException e) {
+ fail(e);
+ return null;
+ }
}
// request
- @SneakyThrows
public TestResponse get(String path, Map headers) {
var request = HttpRequest.GET(path);
@@ -98,9 +102,10 @@ public abstract class AbstractFilterTest extends AbstractTest {
@Secured({ SecurityRule.IS_ANONYMOUS, SecurityRule.IS_AUTHENTICATED })
@Controller
- @Slf4j
public static class TestController {
+ private static final Logger log = LoggerFactory.getLogger(TestController.class);
+
@Get("/{+path}")
TestResponse run(@PathVariable String path) {
@@ -120,16 +125,36 @@ public abstract class AbstractFilterTest extends AbstractTest {
var mdc = MDC.getCopyOfContextMap();
log.info("Found MDC: {}", mdc);
- return new TestResponse(path, level.toString(), mdc == null ? Map.of() : mdc);
+ return new TestResponse(path, level.toString(), mdc);
}
}
- @Data
- @NoArgsConstructor
- @AllArgsConstructor
public static class TestResponse {
- private String path;
- private String level;
- private Map context = Map.of();
+
+ private final String path;
+ private final String level;
+ private final Map context;
+
+ @JsonCreator
+ public TestResponse(
+ @JsonProperty("path") String path,
+ @JsonProperty("level") String level,
+ @JsonProperty("context") Map context) {
+ this.path = path;
+ this.level = level;
+ this.context = context == null ? Map.of() : context;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public String getLevel() {
+ return level;
+ }
+
+ public Map getContext() {
+ return context;
+ }
}
}