Remove lombok.

This commit is contained in:
Stephan Schnabel 2021-12-29 12:05:55 +01:00
parent 4f7077f6b7
commit 6efc2bcb49
Signed by: stephan.schnabel
GPG key ID: F74FE2422AA07290
8 changed files with 48 additions and 42 deletions

13
pom.xml
View file

@ -81,7 +81,6 @@
<version.ch.qos.logback>1.2.8</version.ch.qos.logback>
<version.ch.qos.logback.contrib>0.1.5</version.ch.qos.logback.contrib>
<version.io.micronaut>3.2.3</version.io.micronaut>
<version.org.projectlombok>1.18.22</version.org.projectlombok>
<!-- plugins -->
@ -171,13 +170,6 @@
<scope>test</scope>
</dependency>
<!-- build -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<!-- logback -->
<dependency>
<groupId>ch.qos.logback</groupId>
@ -208,11 +200,6 @@
<version>${version.org.apache.maven.plugins.compiler}</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${version.org.projectlombok}</version>
</path>
<path>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject-java</artifactId>

View file

@ -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;

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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<String, String> serviceContext;
@Setter
private String serviceName;
@Setter
private String serviceVersion;
@Override

View file

@ -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;

View file

@ -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<JWTClaimsSet.Builder> 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<String, String> 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<String, String> context = Map.of();
private final String path;
private final String level;
private final Map<String, String> context;
@JsonCreator
public TestResponse(
@JsonProperty("path") String path,
@JsonProperty("level") String level,
@JsonProperty("context") Map<String, String> 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<String, String> getContext() {
return context;
}
}
}