diff --git a/pom.xml b/pom.xml
index 8f13be12..5fcf37d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,8 +118,8 @@
software.amazon.lambda
- powertools-logging
- 1.20.2
+ powertools-logging-logback
+ 2.1.1
org.aspectj
diff --git a/src/main/java/software/nhs/fhirvalidator/configuration/ValidatorConfiguration.java b/src/main/java/software/nhs/fhirvalidator/configuration/ValidatorConfiguration.java
index 3b9e39fb..6b64947f 100644
--- a/src/main/java/software/nhs/fhirvalidator/configuration/ValidatorConfiguration.java
+++ b/src/main/java/software/nhs/fhirvalidator/configuration/ValidatorConfiguration.java
@@ -31,8 +31,8 @@
import software.nhs.fhirvalidator.models.SimplifierPackage;
import software.nhs.fhirvalidator.util.ResourceUtils;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* This class is a wrapper around the HAPI FhirValidator.
@@ -46,7 +46,7 @@ public class ValidatorConfiguration {
public final FhirContext fhirContext;
public final List npmPackages = new ArrayList<>();
- Logger log = LogManager.getLogger(ValidatorConfiguration.class);
+ Logger log = LoggerFactory.getLogger(ValidatorConfiguration.class);
public ValidatorConfiguration(String _PROFILE_MANIFEST_FILE) {
PROFILE_MANIFEST_FILE = _PROFILE_MANIFEST_FILE;
diff --git a/src/main/java/software/nhs/fhirvalidator/controller/ValidateController.java b/src/main/java/software/nhs/fhirvalidator/controller/ValidateController.java
index 9fdfa4b6..df4a7a4d 100644
--- a/src/main/java/software/nhs/fhirvalidator/controller/ValidateController.java
+++ b/src/main/java/software/nhs/fhirvalidator/controller/ValidateController.java
@@ -23,8 +23,8 @@
import software.nhs.fhirvalidator.service.MessageDefinitionApplier;
import software.nhs.fhirvalidator.util.OperationOutcomeUtils;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* This class is a wrapper around the HAPI FhirValidator.
@@ -40,7 +40,7 @@ public class ValidateController {
private CapabilityStatementApplier capabilityStatementApplier;
private MessageDefinitionApplier messageDefinitionApplier;
- Logger log = LogManager.getLogger(ValidateController.class);
+ Logger log = LoggerFactory.getLogger(ValidateController.class);
public ValidateController(String PROFILE_MANIFEST_FILE) {
validatorConfiguration = new ValidatorConfiguration(PROFILE_MANIFEST_FILE);
diff --git a/src/main/java/software/nhs/fhirvalidator/handler/HandlerStream.java b/src/main/java/software/nhs/fhirvalidator/handler/HandlerStream.java
index 3fe331c5..e79e7a26 100644
--- a/src/main/java/software/nhs/fhirvalidator/handler/HandlerStream.java
+++ b/src/main/java/software/nhs/fhirvalidator/handler/HandlerStream.java
@@ -11,18 +11,18 @@
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
import software.amazon.lambda.powertools.logging.Logging;
-import software.amazon.lambda.powertools.logging.LoggingUtils;
import software.nhs.fhirvalidator.controller.ValidateController;
import software.nhs.fhirvalidator.util.ResourceUtils;
public class HandlerStream implements RequestStreamHandler {
private final ValidateController validateController;
- Logger log = LogManager.getLogger(HandlerStream.class);
+ Logger log = LoggerFactory.getLogger(HandlerStream.class);
public HandlerStream() {
log.info("Creating the Validator instance for the first time...");
@@ -55,15 +55,15 @@ public void handleRequest(InputStream inputStream, OutputStream outputStream, Co
JsonObject jsonPayload = JsonParser.parseString(rawInput).getAsJsonObject();
JsonObject headers = jsonPayload.get("headers").getAsJsonObject();
String xRequestID = headers.get("x-request-id") == null ? "" : headers.get("x-request-id").getAsString();
- LoggingUtils.appendKey("x-request-id", xRequestID);
+ MDC.put("x-request-id", xRequestID);
String nhsdCorrelationID = headers.get("nhsd-correlation-id") == null ? "" : headers.get("nhsd-correlation-id").getAsString();
- LoggingUtils.appendKey("nhsd-correlation-id", nhsdCorrelationID);
+ MDC.put("nhsd-correlation-id", nhsdCorrelationID);
String nhsdRequestID = headers.get("nhsd-request-id") == null ? "" : headers.get("nhsd-request-id").getAsString();
- LoggingUtils.appendKey("nhsd-request-id", nhsdRequestID);
+ MDC.put("nhsd-request-id", nhsdRequestID);
String xCorrelationID = headers.get("x-correlation-id") == null ? "" : headers.get("x-correlation-id").getAsString();
- LoggingUtils.appendKey("x-correlation-id", xCorrelationID);
+ MDC.put("x-correlation-id", xCorrelationID);
String apigwRequestID = headers.get("apigw-request-id") == null ? "" : headers.get("apigw-request-id").getAsString();
- LoggingUtils.appendKey("apigw-request-id", apigwRequestID);
+ MDC.put("apigw-request-id", apigwRequestID);
log.info("Calling validate function");
String validatorResult = validateController.validate(jsonPayload.get("body").toString());
diff --git a/src/main/java/software/nhs/fhirvalidator/service/CapabilityStatementApplier.java b/src/main/java/software/nhs/fhirvalidator/service/CapabilityStatementApplier.java
index 2859ae11..505a21a1 100644
--- a/src/main/java/software/nhs/fhirvalidator/service/CapabilityStatementApplier.java
+++ b/src/main/java/software/nhs/fhirvalidator/service/CapabilityStatementApplier.java
@@ -1,7 +1,7 @@
package software.nhs.fhirvalidator.service;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.hl7.fhir.instance.model.api.IBaseResource;
import org.hl7.fhir.r4.model.CapabilityStatement;
import org.hl7.fhir.utilities.npm.NpmPackage;
@@ -15,7 +15,7 @@
public class CapabilityStatementApplier {
private final List restResources;
- Logger log = LogManager.getLogger(CapabilityStatementApplier.class);
+ Logger log = LoggerFactory.getLogger(CapabilityStatementApplier.class);
public CapabilityStatementApplier(
ImplementationGuideParser implementationGuideParser,
diff --git a/src/main/java/software/nhs/fhirvalidator/service/ImplementationGuideParser.java b/src/main/java/software/nhs/fhirvalidator/service/ImplementationGuideParser.java
index cd678d87..b70cf634 100644
--- a/src/main/java/software/nhs/fhirvalidator/service/ImplementationGuideParser.java
+++ b/src/main/java/software/nhs/fhirvalidator/service/ImplementationGuideParser.java
@@ -3,8 +3,8 @@
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.parser.IParser;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.hl7.fhir.r4.model.*;
import org.hl7.fhir.utilities.npm.NpmPackage;
@@ -16,7 +16,7 @@ public class ImplementationGuideParser {
private final FhirContext fhirContext;
- Logger log = LogManager.getLogger(ImplementationGuideParser.class);
+ Logger log = LoggerFactory.getLogger(ImplementationGuideParser.class);
public ImplementationGuideParser(FhirContext fhirContext) {
this.fhirContext = fhirContext;
diff --git a/src/main/java/software/nhs/fhirvalidator/service/MessageDefinitionApplier.java b/src/main/java/software/nhs/fhirvalidator/service/MessageDefinitionApplier.java
index 29123bd6..ecabe7b4 100644
--- a/src/main/java/software/nhs/fhirvalidator/service/MessageDefinitionApplier.java
+++ b/src/main/java/software/nhs/fhirvalidator/service/MessageDefinitionApplier.java
@@ -1,7 +1,7 @@
package software.nhs.fhirvalidator.service;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.hl7.fhir.instance.model.api.IBaseResource;
import org.hl7.fhir.r4.model.*;
import org.hl7.fhir.utilities.npm.NpmPackage;
@@ -16,7 +16,7 @@
public class MessageDefinitionApplier {
private final List messageDefinitions;
- Logger log = LogManager.getLogger(MessageDefinitionApplier.class);
+ Logger log = LoggerFactory.getLogger(MessageDefinitionApplier.class);
public MessageDefinitionApplier(
ImplementationGuideParser implementationGuideParser,
diff --git a/src/main/java/software/nhs/fhirvalidator/util/FhirUtils.java b/src/main/java/software/nhs/fhirvalidator/util/FhirUtils.java
index d27ca8aa..2c9fb2de 100644
--- a/src/main/java/software/nhs/fhirvalidator/util/FhirUtils.java
+++ b/src/main/java/software/nhs/fhirvalidator/util/FhirUtils.java
@@ -3,15 +3,15 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.hl7.fhir.instance.model.api.IBaseResource;
import org.hl7.fhir.instance.model.api.IPrimitiveType;
import org.hl7.fhir.r4.model.Bundle;
public final class FhirUtils {
- static Logger log = LogManager.getLogger(FhirUtils.class);
+ static Logger log = LoggerFactory.getLogger(FhirUtils.class);
private FhirUtils() {
throw new IllegalStateException("Utility class");
diff --git a/src/main/java/software/nhs/fhirvalidator/util/ResourceUtils.java b/src/main/java/software/nhs/fhirvalidator/util/ResourceUtils.java
index fad95105..86c1bc5f 100644
--- a/src/main/java/software/nhs/fhirvalidator/util/ResourceUtils.java
+++ b/src/main/java/software/nhs/fhirvalidator/util/ResourceUtils.java
@@ -4,11 +4,11 @@
import java.io.IOException;
import java.io.InputStream;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ResourceUtils {
- static Logger log = LogManager.getLogger(ResourceUtils.class);
+ static Logger log = LoggerFactory.getLogger(ResourceUtils.class);
private ResourceUtils() {
throw new IllegalStateException("Utility class");