You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/11/10 13:58:36 UTC

[camel] branch main updated: CAMEL-17175: camel-mllp option 'logPhi' with value 'false' does not work for exception logging

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new c4b5791  CAMEL-17175: camel-mllp option 'logPhi' with value 'false' does not work for exception logging
c4b5791 is described below

commit c4b5791237bbf27af7b54bbd0d14b7c6944dff1f
Author: Luigi De Masi <ld...@redhat.com>
AuthorDate: Mon Nov 8 18:07:50 2021 +0100

    CAMEL-17175: camel-mllp option 'logPhi' with value 'false' does not work for exception logging
---
 .../mllp/MllpAcknowledgementDeliveryException.java |  17 +--
 .../mllp/MllpAcknowledgementException.java         |  25 +++--
 .../MllpAcknowledgementGenerationException.java    |  12 +-
 .../mllp/MllpAcknowledgementReceiveException.java  |  33 +++---
 .../mllp/MllpAcknowledgementTimeoutException.java  |  34 +++---
 ...lpApplicationErrorAcknowledgementException.java |   9 +-
 ...pApplicationRejectAcknowledgementException.java |   9 +-
 .../MllpCommitErrorAcknowledgementException.java   |   9 +-
 .../MllpCommitRejectAcknowledgementException.java  |   9 +-
 .../apache/camel/component/mllp/MllpException.java |  32 +++---
 .../mllp/MllpInvalidAcknowledgementException.java  |   9 +-
 .../mllp/MllpInvalidMessageException.java          |   8 +-
 .../mllp/MllpNegativeAcknowledgementException.java |   9 +-
 .../camel/component/mllp/MllpReceiveException.java |  24 ++--
 .../component/mllp/MllpTcpClientProducer.java      |  45 +++++---
 .../component/mllp/MllpTcpServerConsumer.java      |  19 ++--
 .../camel/component/mllp/MllpWriteException.java   |  16 +--
 .../camel/component/mllp/internal/Hl7Util.java     |  11 +-
 .../component/mllp/internal/MllpSocketBuffer.java  |   4 +-
 .../mllp/internal/TcpSocketConsumerRunnable.java   |   7 +-
 .../mllp/Hl7AcknowledgementGenerator.java          |   4 +-
 .../apache/camel/component/mllp/LogPhiTest.java    | 125 +++++++++++++++++++++
 .../MllpAcknowledgementDeliveryExceptionTest.java  |   8 +-
 .../mllp/MllpAcknowledgementExceptionTest.java     |  38 ++++---
 .../MllpAcknowledgementReceiveExceptionTest.java   |  16 +--
 .../MllpAcknowledgementTimeoutExceptionTest.java   |  23 ++--
 ...plicationErrorAcknowledgementExceptionTest.java |   7 +-
 ...licationRejectAcknowledgementExceptionTest.java |   9 +-
 ...llpCommitErrorAcknowledgementExceptionTest.java |   7 +-
 ...lpCommitRejectAcknowledgementExceptionTest.java |   7 +-
 .../camel/component/mllp/MllpExceptionTest.java    |  62 +++++-----
 .../component/mllp/MllpExceptionTestSupport.java   |   2 +
 .../MllpInvalidAcknowledgementExceptionTest.java   |   5 +-
 .../mllp/MllpInvalidMessageExceptionTest.java      |   4 +-
 .../MllpNegativeAcknowledgementExceptionTest.java  |  14 +--
 .../component/mllp/MllpReceiveExceptionTest.java   |  13 ++-
 .../component/mllp/MllpWriteExceptionTest.java     |   9 +-
 ...rConsumerEndOfDataAndValidationTestSupport.java |   3 +-
 .../camel/component/mllp/internal/Hl7UtilTest.java |   5 +-
 39 files changed, 440 insertions(+), 262 deletions(-)

diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryException.java
index 26c49e1..8e5bd4c 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryException.java
@@ -22,19 +22,20 @@ package org.apache.camel.component.mllp;
 public class MllpAcknowledgementDeliveryException extends MllpAcknowledgementException {
     static final String EXCEPTION_MESSAGE = "HL7 Acknowledgment Delivery Failed";
 
-    public MllpAcknowledgementDeliveryException(byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement);
+    public MllpAcknowledgementDeliveryException(byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpAcknowledgementDeliveryException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause);
+    public MllpAcknowledgementDeliveryException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
-    public MllpAcknowledgementDeliveryException(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(message, hl7Message, hl7Acknowledgement);
+    public MllpAcknowledgementDeliveryException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpAcknowledgementDeliveryException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(message, hl7Message, hl7Acknowledgement, cause);
+    public MllpAcknowledgementDeliveryException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                                boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementException.java
index 41004e1..b83685f 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementException.java
@@ -21,28 +21,29 @@ package org.apache.camel.component.mllp;
  */
 public abstract class MllpAcknowledgementException extends MllpException {
 
-    public MllpAcknowledgementException(String message) {
-        super(message);
+    public MllpAcknowledgementException(String message, boolean logPhi) {
+        super(message, logPhi);
     }
 
-    public MllpAcknowledgementException(String message, Throwable cause) {
-        super(message, cause);
+    public MllpAcknowledgementException(String message, Throwable cause, boolean logPhi) {
+        super(message, cause, logPhi);
     }
 
-    public MllpAcknowledgementException(String message, byte[] hl7Message) {
-        super(message, hl7Message);
+    public MllpAcknowledgementException(String message, byte[] hl7Message, boolean logPhi) {
+        super(message, hl7Message, logPhi);
     }
 
-    public MllpAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(message, hl7Message, hl7Acknowledgement);
+    public MllpAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpAcknowledgementException(String message, byte[] hl7Message, Throwable cause) {
-        super(message, hl7Message, cause);
+    public MllpAcknowledgementException(String message, byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, cause, logPhi);
     }
 
-    public MllpAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(message, hl7Message, hl7Acknowledgement, cause);
+    public MllpAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                        boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementGenerationException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementGenerationException.java
index 4bb5db5..ca1dc83 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementGenerationException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementGenerationException.java
@@ -21,16 +21,16 @@ package org.apache.camel.component.mllp;
  */
 public class MllpAcknowledgementGenerationException extends MllpException {
 
-    public MllpAcknowledgementGenerationException(String message) {
-        super(message);
+    public MllpAcknowledgementGenerationException(String message, boolean logPhi) {
+        super(message, logPhi);
     }
 
-    public MllpAcknowledgementGenerationException(String message, byte[] hl7MessageBytes) {
-        super(message, hl7MessageBytes);
+    public MllpAcknowledgementGenerationException(String message, byte[] hl7MessageBytes, boolean logPhi) {
+        super(message, hl7MessageBytes, logPhi);
     }
 
-    public MllpAcknowledgementGenerationException(String message, byte[] hl7MessageBytes, Throwable cause) {
-        super(message, hl7MessageBytes, cause);
+    public MllpAcknowledgementGenerationException(String message, byte[] hl7MessageBytes, Throwable cause, boolean logPhi) {
+        super(message, hl7MessageBytes, cause, logPhi);
     }
 
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveException.java
index 2a5c71d..c693c50 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveException.java
@@ -22,35 +22,36 @@ package org.apache.camel.component.mllp;
 public class MllpAcknowledgementReceiveException extends MllpAcknowledgementException {
     static final String EXCEPTION_MESSAGE = "HL7 Acknowledgment Receipt Failed";
 
-    public MllpAcknowledgementReceiveException(byte[] hl7Message) {
-        super(EXCEPTION_MESSAGE, hl7Message);
+    public MllpAcknowledgementReceiveException(byte[] hl7Message, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, logPhi);
     }
 
-    public MllpAcknowledgementReceiveException(byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement);
+    public MllpAcknowledgementReceiveException(byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpAcknowledgementReceiveException(byte[] hl7Message, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, cause);
+    public MllpAcknowledgementReceiveException(byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, cause, logPhi);
     }
 
-    public MllpAcknowledgementReceiveException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause);
+    public MllpAcknowledgementReceiveException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
-    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message) {
-        super(message, hl7Message);
+    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message, boolean logPhi) {
+        super(message, hl7Message, logPhi);
     }
 
-    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(message, hl7Message, hl7Acknowledgement);
+    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message, Throwable cause) {
-        super(message, hl7Message, cause);
+    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, cause, logPhi);
     }
 
-    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(message, hl7Message, hl7Acknowledgement, cause);
+    public MllpAcknowledgementReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                               boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutException.java
index b617253..b7ce3a1 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutException.java
@@ -22,37 +22,39 @@ package org.apache.camel.component.mllp;
 public class MllpAcknowledgementTimeoutException extends MllpAcknowledgementException {
     static final String EXCEPTION_MESSAGE = "Timeout receiving HL7 Acknowledgement";
 
-    public MllpAcknowledgementTimeoutException(byte[] hl7Message) {
-        super(EXCEPTION_MESSAGE, hl7Message);
+    public MllpAcknowledgementTimeoutException(byte[] hl7Message, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, logPhi);
     }
 
-    public MllpAcknowledgementTimeoutException(byte[] hl7Message, byte[] partialHl7Acknowledgement) {
-        super(EXCEPTION_MESSAGE, hl7Message, partialHl7Acknowledgement);
+    public MllpAcknowledgementTimeoutException(byte[] hl7Message, byte[] partialHl7Acknowledgement, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, partialHl7Acknowledgement, logPhi);
     }
 
-    public MllpAcknowledgementTimeoutException(byte[] hl7Message, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, cause);
+    public MllpAcknowledgementTimeoutException(byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, cause, logPhi);
     }
 
-    public MllpAcknowledgementTimeoutException(byte[] hl7Message, byte[] partialHl7Acknowledgement, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, partialHl7Acknowledgement, cause);
+    public MllpAcknowledgementTimeoutException(byte[] hl7Message, byte[] partialHl7Acknowledgement, Throwable cause,
+                                               boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, partialHl7Acknowledgement, cause, logPhi);
     }
 
-    public MllpAcknowledgementTimeoutException(String message, byte[] hl7Message) {
-        super(message, hl7Message);
+    public MllpAcknowledgementTimeoutException(String message, byte[] hl7Message, boolean logPhi) {
+        super(message, hl7Message, logPhi);
     }
 
-    public MllpAcknowledgementTimeoutException(String message, byte[] hl7Message, byte[] partialHl7Acknowledgement) {
-        super(message, hl7Message, partialHl7Acknowledgement);
+    public MllpAcknowledgementTimeoutException(String message, byte[] hl7Message, byte[] partialHl7Acknowledgement,
+                                               boolean logPhi) {
+        super(message, hl7Message, partialHl7Acknowledgement, logPhi);
     }
 
-    public MllpAcknowledgementTimeoutException(String message, byte[] hl7Message, Throwable cause) {
-        super(message, hl7Message, cause);
+    public MllpAcknowledgementTimeoutException(String message, byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, cause, logPhi);
     }
 
     public MllpAcknowledgementTimeoutException(String message, byte[] hl7Message, byte[] partialHl7Acknowledgement,
-                                               Throwable cause) {
-        super(message, hl7Message, partialHl7Acknowledgement, cause);
+                                               Throwable cause, boolean logPhi) {
+        super(message, hl7Message, partialHl7Acknowledgement, cause, logPhi);
     }
 
     /**
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementException.java
index a075470..731cd7c 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementException.java
@@ -22,12 +22,13 @@ package org.apache.camel.component.mllp;
 public class MllpApplicationErrorAcknowledgementException extends MllpNegativeAcknowledgementException {
     static final String EXCEPTION_MESSAGE = "HL7 Application Error Acknowledgment Received";
 
-    public MllpApplicationErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement);
+    public MllpApplicationErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpApplicationErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause);
+    public MllpApplicationErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                                        boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
     @Override
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementException.java
index a6f26a9..27b2b24 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementException.java
@@ -22,12 +22,13 @@ package org.apache.camel.component.mllp;
 public class MllpApplicationRejectAcknowledgementException extends MllpNegativeAcknowledgementException {
     static final String EXCEPTION_MESSAGE = "HL7 Application Reject Acknowledgment Received";
 
-    public MllpApplicationRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement);
+    public MllpApplicationRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpApplicationRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause);
+    public MllpApplicationRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                                         boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
     @Override
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java
index fb4ff20..a5dd49c 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java
@@ -22,12 +22,13 @@ package org.apache.camel.component.mllp;
 public class MllpCommitErrorAcknowledgementException extends MllpNegativeAcknowledgementException {
     static final String EXCEPTION_MESSAGE = "HL7 Commit Error Acknowledgment Received";
 
-    public MllpCommitErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement);
+    public MllpCommitErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpCommitErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause);
+    public MllpCommitErrorAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                                   boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
     @Override
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java
index ac8a447..2d55b3b 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java
@@ -22,12 +22,13 @@ package org.apache.camel.component.mllp;
 public class MllpCommitRejectAcknowledgementException extends MllpNegativeAcknowledgementException {
     static final String EXCEPTION_MESSAGE = "HL7 Commit Reject Acknowledgment Received";
 
-    public MllpCommitRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement);
+    public MllpCommitRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpCommitRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause);
+    public MllpCommitRejectAcknowledgementException(byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                                    boolean logPhi) {
+        super(EXCEPTION_MESSAGE, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
     @Override
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpException.java
index 876b005..afc9121 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpException.java
@@ -25,33 +25,36 @@ public class MllpException extends Exception {
     final byte[] hl7MessageBytes;
     final byte[] hl7AcknowledgementBytes;
     final Hl7Util hl7Util;
+    final boolean logPhi;
 
     // No-payload constructors
-    public MllpException(String message) {
-        this(message, (byte[]) null, (byte[]) null, (Throwable) null);
+    public MllpException(String message, boolean logPhi) {
+        this(message, (byte[]) null, (byte[]) null, (Throwable) null, logPhi);
     }
 
-    public MllpException(String message, Throwable cause) {
-        this(message, (byte[]) null, (byte[]) null, cause);
+    public MllpException(String message, Throwable cause, boolean logPhi) {
+        this(message, (byte[]) null, (byte[]) null, cause, logPhi);
     }
 
     // Message only payload constructors
-    public MllpException(String message, byte[] hl7MessageBytes) {
-        this(message, hl7MessageBytes, (byte[]) null, (Throwable) null);
+    public MllpException(String message, byte[] hl7MessageBytes, boolean logPhi) {
+        this(message, hl7MessageBytes, (byte[]) null, (Throwable) null, logPhi);
     }
 
-    public MllpException(String message, byte[] hl7MessageBytes, Throwable cause) {
-        this(message, hl7MessageBytes, (byte[]) null, cause);
+    public MllpException(String message, byte[] hl7MessageBytes, Throwable cause, boolean logPhi) {
+        this(message, hl7MessageBytes, (byte[]) null, cause, logPhi);
     }
 
     // Message payload and Acknowledgement payload constructors
-    public MllpException(String message, byte[] hl7MessageBytes, byte[] hl7AcknowledgementBytes) {
-        this(message, hl7MessageBytes, hl7AcknowledgementBytes, (Throwable) null);
+    public MllpException(String message, byte[] hl7MessageBytes, byte[] hl7AcknowledgementBytes, boolean logPhi) {
+        this(message, hl7MessageBytes, hl7AcknowledgementBytes, (Throwable) null, logPhi);
     }
 
-    public MllpException(String message, byte[] hl7MessageBytes, byte[] hl7AcknowledgementBytes, Throwable cause) {
+    public MllpException(String message, byte[] hl7MessageBytes, byte[] hl7AcknowledgementBytes, Throwable cause,
+                         boolean logPhi) {
         super(message, cause);
-        this.hl7Util = new Hl7Util(5120);
+        this.logPhi = logPhi;
+        this.hl7Util = new Hl7Util(5120, logPhi);
 
         if (hl7MessageBytes != null && hl7MessageBytes.length > 0) {
             this.hl7MessageBytes = hl7MessageBytes;
@@ -109,8 +112,11 @@ public class MllpException extends Exception {
      */
     @Override
     public String getMessage() {
-        String answer;
+        if (!logPhi) {
+            return super.getMessage();
+        }
 
+        String answer;
         if (hasHl7MessageBytes() || hasHl7AcknowledgementBytes()) {
             String parentMessage = super.getMessage();
 
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementException.java
index c9c3d05..240f715 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementException.java
@@ -21,11 +21,12 @@ package org.apache.camel.component.mllp;
  * determined.
  */
 public class MllpInvalidAcknowledgementException extends MllpAcknowledgementException {
-    public MllpInvalidAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(message, hl7Message, hl7Acknowledgement);
+    public MllpInvalidAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpInvalidAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(message, hl7Message, hl7Acknowledgement, cause);
+    public MllpInvalidAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                               boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidMessageException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidMessageException.java
index 62b9dfb..b9d47d1 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidMessageException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpInvalidMessageException.java
@@ -20,11 +20,11 @@ package org.apache.camel.component.mllp;
  * Raised when a MLLP Consumer receives an invalid HL7 Message.
  */
 public class MllpInvalidMessageException extends MllpException {
-    public MllpInvalidMessageException(String message, byte[] hl7Message) {
-        super(message, hl7Message);
+    public MllpInvalidMessageException(String message, byte[] hl7Message, boolean logPhi) {
+        super(message, hl7Message, logPhi);
     }
 
-    public MllpInvalidMessageException(String message, byte[] hl7Message, Throwable cause) {
-        super(message, hl7Message, cause);
+    public MllpInvalidMessageException(String message, byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, cause, logPhi);
     }
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementException.java
index 399460a..be6c85b 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementException.java
@@ -20,12 +20,13 @@ package org.apache.camel.component.mllp;
  * Abstract base for all MLLP Negative Acknowledgements
  */
 public abstract class MllpNegativeAcknowledgementException extends MllpAcknowledgementException {
-    public MllpNegativeAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(message, hl7Message, hl7Acknowledgement);
+    public MllpNegativeAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpNegativeAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(message, hl7Message, hl7Acknowledgement, cause);
+    public MllpNegativeAcknowledgementException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                                boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 
     public abstract String getAcknowledgmentType();
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpReceiveException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpReceiveException.java
index b6a57f0..26784ea 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpReceiveException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpReceiveException.java
@@ -20,27 +20,27 @@ package org.apache.camel.component.mllp;
  * Raised when a MLLP Consumer cannot deliver the MLLP Acknowledgement
  */
 public class MllpReceiveException extends MllpException {
-    public MllpReceiveException(String message) {
-        super(message);
+    public MllpReceiveException(String message, boolean logPhi) {
+        super(message, logPhi);
     }
 
-    public MllpReceiveException(String message, byte[] hl7Message) {
-        super(message, hl7Message);
+    public MllpReceiveException(String message, byte[] hl7Message, boolean logPhi) {
+        super(message, hl7Message, logPhi);
     }
 
-    public MllpReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(message, hl7Message, hl7Acknowledgement);
+    public MllpReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpReceiveException(String message, Throwable cause) {
-        super(message, cause);
+    public MllpReceiveException(String message, Throwable cause, boolean logPhi) {
+        super(message, cause, logPhi);
     }
 
-    public MllpReceiveException(String message, byte[] hl7Message, Throwable cause) {
-        super(message, hl7Message, cause);
+    public MllpReceiveException(String message, byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, cause, logPhi);
     }
 
-    public MllpReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(message, hl7Message, hl7Acknowledgement, cause);
+    public MllpReceiveException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
index 5fab0b0..d8470b4 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
@@ -59,6 +59,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
     private String cachedCombinedAddress;
     private final Charset charset;
     private final Hl7Util hl7Util;
+    private final boolean logPhi;
 
     public MllpTcpClientProducer(MllpEndpoint endpoint) {
         super(endpoint);
@@ -70,7 +71,9 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
 
         mllpBuffer = new MllpSocketBuffer(endpoint);
         charset = Charset.forName(endpoint.getConfiguration().getCharsetName());
-        hl7Util = new Hl7Util(endpoint.getComponent().getLogPhiMaxBytes());
+        MllpComponent component = endpoint.getComponent();
+        this.logPhi = component.getLogPhi();
+        hl7Util = new Hl7Util(component.getLogPhiMaxBytes(), logPhi);
     }
 
     @ManagedAttribute(description = "Last activity time")
@@ -158,7 +161,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
             if (messageBody == null) {
                 String exceptionMessage
                         = String.format("process(%s) [%s] - message body is null", exchange.getExchangeId(), socket);
-                exchange.setException(new MllpInvalidMessageException(exceptionMessage, hl7MessageBytes));
+                exchange.setException(new MllpInvalidMessageException(exceptionMessage, hl7MessageBytes, logPhi));
                 return;
             } else if (messageBody instanceof byte[]) {
                 hl7MessageBytes = (byte[]) messageBody;
@@ -190,13 +193,15 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                                 exchange.getExchangeId(), socket);
                         log.warn(exceptionMessage, retryWriteEx);
                         exchange.setException(
-                                new MllpWriteException(exceptionMessage, mllpBuffer.toByteArrayAndReset(), retryWriteEx));
+                                new MllpWriteException(
+                                        exceptionMessage, mllpBuffer.toByteArrayAndReset(), retryWriteEx, logPhi));
                     }
                 } catch (IOException reconnectEx) {
                     String exceptionMessage = String.format("process(%s) [%s] - exception encountered attempting to reconnect",
                             exchange.getExchangeId(), socket);
                     log.warn(exceptionMessage, reconnectEx);
-                    exchange.setException(new MllpWriteException(exceptionMessage, mllpBuffer.toByteArrayAndReset(), writeEx));
+                    exchange.setException(
+                            new MllpWriteException(exceptionMessage, mllpBuffer.toByteArrayAndReset(), writeEx, logPhi));
                     mllpBuffer.resetSocket(socket);
                 }
             }
@@ -222,7 +227,8 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                                 exchange.getExchangeId(), socket);
                         log.warn(exceptionMessage, reconnectEx);
                         exchange.setException(
-                                new MllpAcknowledgementReceiveException(exceptionMessage, hl7MessageBytes, receiveAckEx));
+                                new MllpAcknowledgementReceiveException(
+                                        exceptionMessage, hl7MessageBytes, receiveAckEx, logPhi));
                         mllpBuffer.resetSocket(socket);
                     }
 
@@ -237,7 +243,8 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                                     "process(%s) [%s] - exception encountered attempting to write payload after read failure and successful reconnect",
                                     exchange.getExchangeId(), socket);
                             log.warn(exceptionMessage, writeRetryEx);
-                            exchange.setException(new MllpWriteException(exceptionMessage, hl7MessageBytes, receiveAckEx));
+                            exchange.setException(
+                                    new MllpWriteException(exceptionMessage, hl7MessageBytes, receiveAckEx, logPhi));
                         }
 
                         if (exchange.getException() == null) {
@@ -255,7 +262,8 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                                 log.warn(exceptionMessage, secondReceiveEx);
                                 // Send the original exception to the exchange
                                 exchange.setException(new MllpAcknowledgementReceiveException(
-                                        exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset(), receiveAckEx));
+                                        exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset(), receiveAckEx,
+                                        logPhi));
                             } catch (SocketTimeoutException secondReadTimeoutEx) {
                                 String exceptionMessageFormat = mllpBuffer.isEmpty()
                                         ? "process(%s) [%s] - timeout receiving MLLP Acknowledgment after successful reconnect and resend"
@@ -265,7 +273,8 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                                 log.warn(exceptionMessage, secondReadTimeoutEx);
                                 // Send the original exception to the exchange
                                 exchange.setException(new MllpAcknowledgementTimeoutException(
-                                        exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset(), receiveAckEx));
+                                        exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset(), receiveAckEx,
+                                        logPhi));
                                 mllpBuffer.resetSocket(socket);
                             }
                         }
@@ -277,7 +286,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                     String exceptionMessage = String.format(exceptionMessageFormat, exchange.getExchangeId(), socket);
                     log.warn(exceptionMessage, timeoutEx);
                     exchange.setException(new MllpAcknowledgementTimeoutException(
-                            exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset(), timeoutEx));
+                            exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset(), timeoutEx, logPhi));
                     mllpBuffer.resetSocket(socket);
                 }
 
@@ -301,7 +310,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                             String exceptionMessage = hl7Util.generateInvalidPayloadExceptionMessage(acknowledgementBytes);
                             if (exceptionMessage != null) {
                                 exchange.setException(new MllpInvalidAcknowledgementException(
-                                        exceptionMessage, hl7MessageBytes, acknowledgementBytes));
+                                        exceptionMessage, hl7MessageBytes, acknowledgementBytes, logPhi));
                             }
                         }
 
@@ -322,7 +331,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                         String exceptionMessage = String.format("process(%s) [%s] - invalid acknowledgement received",
                                 exchange.getExchangeId(), socket);
                         exchange.setException(new MllpInvalidAcknowledgementException(
-                                exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset()));
+                                exceptionMessage, hl7MessageBytes, mllpBuffer.toByteArrayAndReset(), logPhi));
                     }
                 }
             }
@@ -369,7 +378,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                                         hl7MessageBytes == null ? -1 : hl7MessageBytes.length, hl7AcknowledgementBytes.length,
                                         new String(hl7AcknowledgementBytes, i + 5, 2));
                                 throw new MllpInvalidAcknowledgementException(
-                                        errorMessage, hl7MessageBytes, hl7AcknowledgementBytes);
+                                        errorMessage, hl7MessageBytes, hl7AcknowledgementBytes, logPhi);
                             } else {
                                 switch (hl7AcknowledgementBytes[i + 6]) {
                                     case bA:
@@ -384,25 +393,25 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
                                         // We have an AE or CE
                                         if (bA == hl7AcknowledgementBytes[i + 5]) {
                                             throw new MllpApplicationErrorAcknowledgementException(
-                                                    hl7MessageBytes, hl7AcknowledgementBytes);
+                                                    hl7MessageBytes, hl7AcknowledgementBytes, logPhi);
                                         } else {
                                             throw new MllpCommitErrorAcknowledgementException(
-                                                    hl7MessageBytes, hl7AcknowledgementBytes);
+                                                    hl7MessageBytes, hl7AcknowledgementBytes, logPhi);
                                         }
                                     case bR:
                                         // We have an AR or CR
                                         if (bA == hl7AcknowledgementBytes[i + 5]) {
                                             throw new MllpApplicationRejectAcknowledgementException(
-                                                    hl7MessageBytes, hl7AcknowledgementBytes);
+                                                    hl7MessageBytes, hl7AcknowledgementBytes, logPhi);
                                         } else {
                                             throw new MllpCommitRejectAcknowledgementException(
-                                                    hl7MessageBytes, hl7AcknowledgementBytes);
+                                                    hl7MessageBytes, hl7AcknowledgementBytes, logPhi);
                                         }
                                     default:
                                         String errorMessage = "Unsupported acknowledgement type: "
                                                               + new String(hl7AcknowledgementBytes, i + 5, 2);
                                         throw new MllpInvalidAcknowledgementException(
-                                                errorMessage, hl7MessageBytes, hl7AcknowledgementBytes);
+                                                errorMessage, hl7MessageBytes, hl7AcknowledgementBytes, logPhi);
                                 }
                             }
 
@@ -415,7 +424,7 @@ public class MllpTcpClientProducer extends DefaultProducer implements Runnable {
             if (-1 == msaStartIndex && getConfiguration().isValidatePayload()) {
                 // Didn't find an MSA
                 throw new MllpInvalidAcknowledgementException(
-                        "MSA Not found in acknowledgement", hl7MessageBytes, hl7AcknowledgementBytes);
+                        "MSA Not found in acknowledgement", hl7MessageBytes, hl7AcknowledgementBytes, logPhi);
             }
         }
 
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
index 02cc74a..109ec6e 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
@@ -66,6 +66,7 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
     final ExecutorService consumerExecutor;
     final Charset charset;
     final Hl7Util hl7Util;
+    final boolean logPhi;
 
     TcpServerBindThread bindThread;
     TcpServerAcceptThread acceptThread;
@@ -76,7 +77,9 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
         super(endpoint, processor);
         log = LoggerFactory.getLogger(String.format("%s.%d", this.getClass().getName(), endpoint.getPort()));
         charset = Charset.forName(endpoint.getConfiguration().getCharsetName());
-        hl7Util = new Hl7Util(endpoint.getComponent().getLogPhiMaxBytes());
+        MllpComponent component = endpoint.getComponent();
+        this.logPhi = component.getLogPhi();
+        hl7Util = new Hl7Util(component.getLogPhiMaxBytes(), logPhi);
 
         validationExecutor = Executors.newCachedThreadPool();
         consumerExecutor = new ThreadPoolExecutor(
@@ -176,11 +179,11 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
     }
 
     public void handleMessageTimeout(String message, byte[] payload, Throwable cause) {
-        getExceptionHandler().handleException(new MllpInvalidMessageException(message, payload, cause));
+        getExceptionHandler().handleException(new MllpInvalidMessageException(message, payload, cause, logPhi));
     }
 
     public void handleMessageException(String message, byte[] payload, Throwable cause) {
-        getExceptionHandler().handleException(new MllpReceiveException(message, payload, cause));
+        getExceptionHandler().handleException(new MllpReceiveException(message, payload, cause, logPhi));
     }
 
     public MllpConfiguration getConfiguration() {
@@ -211,7 +214,7 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
 
     public void startConsumer(Socket clientSocket, MllpSocketBuffer mllpBuffer) {
         TcpSocketConsumerRunnable client = new TcpSocketConsumerRunnable(
-                this, clientSocket, mllpBuffer, hl7Util);
+                this, clientSocket, mllpBuffer, hl7Util, logPhi);
 
         consumerRunnables.put(client, System.currentTimeMillis());
         try {
@@ -258,7 +261,7 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
             if (getConfiguration().isValidatePayload()) {
                 String exceptionMessage = hl7Util.generateInvalidPayloadExceptionMessage(hl7MessageBytes);
                 if (exceptionMessage != null) {
-                    exchange.setException(new MllpInvalidMessageException(exceptionMessage, hl7MessageBytes));
+                    exchange.setException(new MllpInvalidMessageException(exceptionMessage, hl7MessageBytes, logPhi));
                 }
             }
             populateHl7DataHeaders(exchange, message, hl7MessageBytes);
@@ -434,7 +437,7 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
                                       + acknowledgementBytesProperty.getClass().getSimpleName()
                                       + ") exchange properties can be converted to byte[]";
                     MllpInvalidAcknowledgementException invalidAckEx = new MllpInvalidAcknowledgementException(
-                            exceptionMessage, originalHl7MessageBytes, acknowledgementMessageBytes);
+                            exceptionMessage, originalHl7MessageBytes, acknowledgementMessageBytes, logPhi);
                     exchange.setProperty(MllpConstants.MLLP_ACKNOWLEDGEMENT_EXCEPTION, invalidAckEx);
                     getExceptionHandler().handleException(invalidAckEx);
                 }
@@ -570,7 +573,7 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
             } catch (MllpSocketException acknowledgementDeliveryEx) {
                 Exception exchangeEx = new MllpAcknowledgementDeliveryException(
                         "Failure delivering acknowledgment", originalHl7MessageBytes, acknowledgementMessageBytes,
-                        acknowledgementDeliveryEx);
+                        acknowledgementDeliveryEx, logPhi);
                 exchange.setProperty(MllpConstants.MLLP_ACKNOWLEDGEMENT_EXCEPTION, acknowledgementDeliveryEx);
                 exchange.setException(exchangeEx);
             } finally {
@@ -595,7 +598,7 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
             } catch (MllpSocketException acknowledgementDeliveryEx) {
                 Exception exchangeEx = new MllpAcknowledgementDeliveryException(
                         "Failure delivering acknowledgment", originalHl7MessageBytes, acknowledgementMessageBytes,
-                        acknowledgementDeliveryEx);
+                        acknowledgementDeliveryEx, logPhi);
                 exchange.setProperty(MllpConstants.MLLP_ACKNOWLEDGEMENT_EXCEPTION, acknowledgementDeliveryEx);
                 exchange.setException(exchangeEx);
             }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpWriteException.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpWriteException.java
index a0fe858..abbf686 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpWriteException.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpWriteException.java
@@ -20,19 +20,19 @@ package org.apache.camel.component.mllp;
  * Raised when a MLLP Producer or consumer encounter an error transmitting data
  */
 public class MllpWriteException extends MllpException {
-    public MllpWriteException(String message, byte[] hl7Message) {
-        super(message, hl7Message);
+    public MllpWriteException(String message, byte[] hl7Message, boolean logPhi) {
+        super(message, hl7Message, logPhi);
     }
 
-    public MllpWriteException(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-        super(message, hl7Message, hl7Acknowledgement);
+    public MllpWriteException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, logPhi);
     }
 
-    public MllpWriteException(String message, byte[] hl7Message, Throwable cause) {
-        super(message, hl7Message, cause);
+    public MllpWriteException(String message, byte[] hl7Message, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, cause, logPhi);
     }
 
-    public MllpWriteException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-        super(message, hl7Message, hl7Acknowledgement, cause);
+    public MllpWriteException(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause, boolean logPhi) {
+        super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
     }
 }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/Hl7Util.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/Hl7Util.java
index b2b5e9a..714d146 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/Hl7Util.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/Hl7Util.java
@@ -80,8 +80,11 @@ public final class Hl7Util {
 
     private final int logPhiMaxBytes;
 
-    public Hl7Util(int logPhiMaxBytes) {
+    private final boolean logPhi;
+
+    public Hl7Util(int logPhiMaxBytes, boolean logPhi) {
         this.logPhiMaxBytes = logPhiMaxBytes;
+        this.logPhi = logPhi;
     }
 
     public int getLogPhiMaxBytes() {
@@ -217,14 +220,14 @@ public final class Hl7Util {
             MllpSocketBuffer mllpSocketBuffer, byte[] hl7MessageBytes, String acknowledgementCode, String msa3)
             throws MllpAcknowledgementGenerationException {
         if (hl7MessageBytes == null) {
-            throw new MllpAcknowledgementGenerationException("Null HL7 message received for parsing operation");
+            throw new MllpAcknowledgementGenerationException("Null HL7 message received for parsing operation", logPhi);
         }
 
         List<Integer> fieldSeparatorIndexes = findFieldSeparatorIndicesInSegment(hl7MessageBytes, 0);
 
         if (fieldSeparatorIndexes.isEmpty()) {
             throw new MllpAcknowledgementGenerationException(
-                    "Failed to find the end of the MSH Segment while attempting to generate response", hl7MessageBytes);
+                    "Failed to find the end of the MSH Segment while attempting to generate response", hl7MessageBytes, logPhi);
         }
 
         if (fieldSeparatorIndexes.size() < 8) {
@@ -232,7 +235,7 @@ public final class Hl7Util {
                     "Insufficient number of fields found in MSH to generate a response - 10 are required but %d were found",
                     fieldSeparatorIndexes.size() - 1);
 
-            throw new MllpAcknowledgementGenerationException(exceptionMessage, hl7MessageBytes);
+            throw new MllpAcknowledgementGenerationException(exceptionMessage, hl7MessageBytes, logPhi);
         }
 
         final byte fieldSeparator = hl7MessageBytes[3];
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/MllpSocketBuffer.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/MllpSocketBuffer.java
index fdcc6d5..0a30455 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/MllpSocketBuffer.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/MllpSocketBuffer.java
@@ -25,6 +25,7 @@ import java.net.SocketTimeoutException;
 import java.nio.charset.Charset;
 import java.util.Arrays;
 
+import org.apache.camel.component.mllp.MllpComponent;
 import org.apache.camel.component.mllp.MllpEndpoint;
 import org.apache.camel.component.mllp.MllpProtocolConstants;
 import org.apache.camel.component.mllp.MllpSocketException;
@@ -55,7 +56,8 @@ public class MllpSocketBuffer {
         }
         this.endpoint = endpoint;
         this.charset = endpoint.getCharsetName();
-        this.hl7Util = new Hl7Util(endpoint.getComponent().getLogPhiMaxBytes());
+        MllpComponent component = endpoint.getComponent();
+        this.hl7Util = new Hl7Util(component.getLogPhiMaxBytes(), component.getLogPhi());
 
         buffer = new byte[MIN_BUFFER_SIZE];
     }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
index 806da73..213a472 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/internal/TcpSocketConsumerRunnable.java
@@ -45,13 +45,15 @@ public class TcpSocketConsumerRunnable implements Runnable {
     private final String remoteAddress;
     private final String combinedAddress;
     private final Hl7Util hl7Util;
+    private final boolean logPhi;
 
     public TcpSocketConsumerRunnable(MllpTcpServerConsumer consumer, Socket clientSocket, MllpSocketBuffer mllpBuffer,
-                                     Hl7Util hl7Util) {
+                                     Hl7Util hl7Util, boolean logPhi) {
         this.consumer = consumer;
         // this.setName(createThreadName(clientSocket));
         this.clientSocket = clientSocket;
         this.hl7Util = hl7Util;
+        this.logPhi = logPhi;
 
         SocketAddress localSocketAddress = clientSocket.getLocalSocketAddress();
         if (localSocketAddress != null) {
@@ -192,7 +194,8 @@ public class TcpSocketConsumerRunnable implements Runnable {
                     } else {
                         mllpBuffer.resetSocket(clientSocket);
                         new MllpInvalidMessageException(
-                                "Timeout receiving complete message payload", mllpBuffer.toByteArrayAndReset(), timeoutEx);
+                                "Timeout receiving complete message payload", mllpBuffer.toByteArrayAndReset(), timeoutEx,
+                                logPhi);
                         consumer.handleMessageTimeout("Timeout receiving complete message payload",
                                 mllpBuffer.toByteArrayAndReset(), timeoutEx);
                     }
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/processor/mllp/Hl7AcknowledgementGenerator.java b/components/camel-mllp/src/main/java/org/apache/camel/processor/mllp/Hl7AcknowledgementGenerator.java
index 7ae3d5b..5cc1f9f 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/processor/mllp/Hl7AcknowledgementGenerator.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/processor/mllp/Hl7AcknowledgementGenerator.java
@@ -58,8 +58,8 @@ public class Hl7AcknowledgementGenerator extends ServiceSupport implements Proce
 
     @Override
     protected void doStart() throws Exception {
-        int logPhiMaxBytes = getCamelContext().getComponent("mllp", MllpComponent.class).getLogPhiMaxBytes();
-        this.hl7Util = new Hl7Util(logPhiMaxBytes);
+        MllpComponent component = getCamelContext().getComponent("mllp", MllpComponent.class);
+        this.hl7Util = new Hl7Util(component.getLogPhiMaxBytes(), component.getLogPhi());
     }
 
     @Override
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/LogPhiTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/LogPhiTest.java
new file mode 100644
index 0000000..841c9b6
--- /dev/null
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/LogPhiTest.java
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.component.mllp;
+
+import java.util.function.Consumer;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.RoutesBuilder;
+import org.apache.camel.ServiceStatus;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.test.AvailablePortFinder;
+import org.apache.camel.test.junit.rule.mllp.MllpServerResource;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.test.mllp.Hl7TestMessageGenerator;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import static org.apache.camel.ExchangePattern.InOut;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+public class LogPhiTest extends CamelTestSupport {
+
+    static final int SERVER_ACKNOWLEDGEMENT_DELAY = 10000;
+
+    @RegisterExtension
+    public MllpServerResource mllpServer = new MllpServerResource();
+
+    @EndpointInject("direct:startNoLogPhi")
+    private Endpoint startNoLogPhi;
+
+    @EndpointInject("direct:startLogPhi")
+    private Endpoint startLogPhi;
+
+    @EndpointInject("direct:start")
+    private Endpoint startDefaultPhi;
+
+    @Override
+    protected void doPreSetup() throws Exception {
+        mllpServer.setListenHost("localhost");
+        mllpServer.setListenPort(AvailablePortFinder.getNextAvailable());
+        mllpServer.setDelayDuringAcknowledgement(SERVER_ACKNOWLEDGEMENT_DELAY);
+        mllpServer.startup();
+        assertTrue(mllpServer.isActive());
+        super.doPreSetup();
+    }
+
+    @Override
+    protected RoutesBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+
+            @Override
+            public void configure() {
+                MllpComponent mllpComponentNoLogPhi = new MllpComponent();
+                mllpComponentNoLogPhi.setLogPhi(Boolean.FALSE);
+
+                MllpComponent mllpComponentLogPhi = new MllpComponent();
+                mllpComponentLogPhi.setLogPhi(Boolean.TRUE);
+
+                MllpComponent mllpComponentLogPhiDefault = new MllpComponent();
+
+                getContext().addComponent("mllpnologphi", mllpComponentNoLogPhi);
+                getContext().addComponent("mllplogphi", mllpComponentLogPhi);
+                getContext().addComponent("mllpdefault", mllpComponentLogPhiDefault);
+                from(startNoLogPhi)
+                        .toF("mllpnologphi://%s:%d?receiveTimeout=%d",
+                                mllpServer.getListenHost(), mllpServer.getListenPort(),
+                                SERVER_ACKNOWLEDGEMENT_DELAY / 2);
+
+                from(startLogPhi)
+                        .toF("mllplogphi://%s:%d?receiveTimeout=%d",
+                                mllpServer.getListenHost(), mllpServer.getListenPort(),
+                                SERVER_ACKNOWLEDGEMENT_DELAY / 2);
+
+                from(startDefaultPhi)
+                        .toF("mllpdefault://%s:%d?receiveTimeout=%d",
+                                mllpServer.getListenHost(), mllpServer.getListenPort(),
+                                SERVER_ACKNOWLEDGEMENT_DELAY / 2);
+            }
+        };
+    }
+
+    @Test
+    public void testLogPhiFalse() throws Exception {
+        testLogPhi(startNoLogPhi, exceptionMessage -> assertFalse(exceptionMessage.contains("hl7Message")));
+    }
+
+    @Test
+    public void testLogPhiTrue() throws Exception {
+        testLogPhi(startLogPhi, exceptionMessage -> assertTrue(exceptionMessage.contains("hl7Message")));
+    }
+
+    @Test
+    public void testLogPhiDefault() throws Exception {
+        testLogPhi(startDefaultPhi, exceptionMessage -> assertTrue(exceptionMessage.contains("hl7Message")));
+    }
+
+    public void testLogPhi(Endpoint endpoint, Consumer<String> contains) throws Exception {
+        Exchange exchange = endpoint.createExchange(InOut);
+        String message = Hl7TestMessageGenerator.generateMessage();
+        exchange.getIn().setBody(message);
+        assertEquals(ServiceStatus.Started, context.getStatus());
+        Exchange out = template.send(endpoint, exchange);
+        assertTrue(exchange.isFailed(), "Should be failed");
+        contains.accept(exchange.getException().getMessage());
+    }
+}
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryExceptionTest.java
index 753116f..93a3e59 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementDeliveryExceptionTest.java
@@ -37,7 +37,7 @@ public class MllpAcknowledgementDeliveryExceptionTest extends MllpExceptionTestS
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpAcknowledgementDeliveryException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpAcknowledgementDeliveryException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
         assertArrayEquals(HL7_MESSAGE_BYTES, instance.hl7MessageBytes);
@@ -51,7 +51,7 @@ public class MllpAcknowledgementDeliveryExceptionTest extends MllpExceptionTestS
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpAcknowledgementDeliveryException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpAcknowledgementDeliveryException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -69,7 +69,7 @@ public class MllpAcknowledgementDeliveryExceptionTest extends MllpExceptionTestS
         final String alternateExceptionMessage = "Alternate Message";
 
         instance = new MllpAcknowledgementDeliveryException(
-                alternateExceptionMessage, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+                alternateExceptionMessage, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(alternateExceptionMessage));
         assertArrayEquals(HL7_MESSAGE_BYTES, instance.hl7MessageBytes);
@@ -86,7 +86,7 @@ public class MllpAcknowledgementDeliveryExceptionTest extends MllpExceptionTestS
         final String alternateExceptionMessage = "Alternate Message";
 
         instance = new MllpAcknowledgementDeliveryException(
-                alternateExceptionMessage, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+                alternateExceptionMessage, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(alternateExceptionMessage));
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementExceptionTest.java
index 8841749..566ec9d 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementExceptionTest.java
@@ -38,7 +38,7 @@ public class MllpAcknowledgementExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE);
+        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -53,7 +53,7 @@ public class MllpAcknowledgementExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, CAUSE);
+        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -68,7 +68,7 @@ public class MllpAcknowledgementExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorThree() throws Exception {
-        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -83,7 +83,8 @@ public class MllpAcknowledgementExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorFour() throws Exception {
-        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpAcknowledgementExceptionStub(
+                TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -98,7 +99,7 @@ public class MllpAcknowledgementExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorFive() throws Exception {
-        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpAcknowledgementExceptionStub(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -114,7 +115,7 @@ public class MllpAcknowledgementExceptionTest extends MllpExceptionTestSupport {
     @Test
     public void testConstructorSix() throws Exception {
         instance = new MllpAcknowledgementExceptionStub(
-                TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+                TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -123,28 +124,29 @@ public class MllpAcknowledgementExceptionTest extends MllpExceptionTestSupport {
     }
 
     static class MllpAcknowledgementExceptionStub extends MllpAcknowledgementException {
-        MllpAcknowledgementExceptionStub(String message) {
-            super(message);
+        MllpAcknowledgementExceptionStub(String message, boolean logPhi) {
+            super(message, logPhi);
         }
 
-        MllpAcknowledgementExceptionStub(String message, Throwable cause) {
-            super(message, cause);
+        MllpAcknowledgementExceptionStub(String message, Throwable cause, boolean logPhi) {
+            super(message, cause, logPhi);
         }
 
-        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message) {
-            super(message, hl7Message);
+        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message, boolean logPhi) {
+            super(message, hl7Message, logPhi);
         }
 
-        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-            super(message, hl7Message, hl7Acknowledgement);
+        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+            super(message, hl7Message, hl7Acknowledgement, logPhi);
         }
 
-        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message, Throwable cause) {
-            super(message, hl7Message, cause);
+        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message, Throwable cause, boolean logPhi) {
+            super(message, hl7Message, cause, logPhi);
         }
 
-        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause) {
-            super(message, hl7Message, hl7Acknowledgement, cause);
+        MllpAcknowledgementExceptionStub(String message, byte[] hl7Message, byte[] hl7Acknowledgement, Throwable cause,
+                                         boolean logPhi) {
+            super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
         }
     }
 
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveExceptionTest.java
index 0ed5bf8..4f3d666 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementReceiveExceptionTest.java
@@ -38,7 +38,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES);
+        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementReceiveException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -53,7 +53,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementReceiveException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -68,7 +68,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorThree() throws Exception {
-        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementReceiveException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -83,7 +83,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorFour() throws Exception {
-        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpAcknowledgementReceiveException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementReceiveException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -98,7 +98,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorFive() throws Exception {
-        instance = new MllpAcknowledgementReceiveException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpAcknowledgementReceiveException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -114,7 +114,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
     @Test
     public void testConstructorSix() throws Exception {
         instance = new MllpAcknowledgementReceiveException(
-                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -129,7 +129,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorSeven() throws Exception {
-        instance = new MllpAcknowledgementReceiveException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpAcknowledgementReceiveException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -145,7 +145,7 @@ public class MllpAcknowledgementReceiveExceptionTest extends MllpExceptionTestSu
     @Test
     public void testConstructorEight() throws Exception {
         instance = new MllpAcknowledgementReceiveException(
-                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutExceptionTest.java
index 5c4cffe..1b1813e 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpAcknowledgementTimeoutExceptionTest.java
@@ -38,7 +38,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES);
+        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementTimeoutException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -53,7 +53,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementTimeoutException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -68,7 +68,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorThree() throws Exception {
-        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementTimeoutException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -83,7 +83,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorFour() throws Exception {
-        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpAcknowledgementTimeoutException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpAcknowledgementTimeoutException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -98,7 +98,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorFive() throws Exception {
-        instance = new MllpAcknowledgementTimeoutException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpAcknowledgementTimeoutException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -114,7 +114,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
     @Test
     public void testConstructorSix() throws Exception {
         instance = new MllpAcknowledgementTimeoutException(
-                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -129,7 +129,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorSeven() throws Exception {
-        instance = new MllpAcknowledgementTimeoutException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpAcknowledgementTimeoutException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -145,7 +145,7 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
     @Test
     public void testConstructorEight() throws Exception {
         instance = new MllpAcknowledgementTimeoutException(
-                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(ALTERNATE_EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -161,13 +161,14 @@ public class MllpAcknowledgementTimeoutExceptionTest extends MllpExceptionTestSu
     @Test
     public void testGetHl7Acknowledgement() throws Exception {
         instance = new MllpAcknowledgementTimeoutException(
-                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
         assertArrayEquals(HL7_ACKNOWLEDGEMENT_BYTES, instance.getHl7Acknowledgement());
 
-        instance = new MllpAcknowledgementTimeoutException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, new byte[0], CAUSE);
+        instance = new MllpAcknowledgementTimeoutException(
+                ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, new byte[0], CAUSE, LOG_PHI_TRUE);
         assertNull(instance.getHl7Acknowledgement());
 
-        instance = new MllpAcknowledgementTimeoutException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpAcknowledgementTimeoutException(ALTERNATE_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
         assertNull(instance.getHl7Acknowledgement());
     }
 
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementExceptionTest.java
index d6c3751..dc0ed99 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationErrorAcknowledgementExceptionTest.java
@@ -37,7 +37,7 @@ public class MllpApplicationErrorAcknowledgementExceptionTest extends MllpExcept
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpApplicationErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpApplicationErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpApplicationErrorAcknowledgementException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -52,7 +52,8 @@ public class MllpApplicationErrorAcknowledgementExceptionTest extends MllpExcept
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpApplicationErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpApplicationErrorAcknowledgementException(
+                HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpApplicationErrorAcknowledgementException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -67,7 +68,7 @@ public class MllpApplicationErrorAcknowledgementExceptionTest extends MllpExcept
      */
     @Test
     public void testGetAcknowledgmentType() throws Exception {
-        instance = new MllpApplicationErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpApplicationErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertEquals("AE", instance.getAcknowledgmentType());
     }
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementExceptionTest.java
index f117fd9..642d9e0 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpApplicationRejectAcknowledgementExceptionTest.java
@@ -37,7 +37,8 @@ public class MllpApplicationRejectAcknowledgementExceptionTest extends MllpExcep
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpApplicationRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpApplicationRejectAcknowledgementException(
+                HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpApplicationRejectAcknowledgementException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -52,7 +53,8 @@ public class MllpApplicationRejectAcknowledgementExceptionTest extends MllpExcep
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpApplicationRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpApplicationRejectAcknowledgementException(
+                HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpApplicationRejectAcknowledgementException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -67,7 +69,8 @@ public class MllpApplicationRejectAcknowledgementExceptionTest extends MllpExcep
      */
     @Test
     public void testGetAcknowledgmentType() throws Exception {
-        instance = new MllpApplicationRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpApplicationRejectAcknowledgementException(
+                HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertEquals("AR", instance.getAcknowledgmentType());
     }
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementExceptionTest.java
index 2d11284..986ec51 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementExceptionTest.java
@@ -37,7 +37,7 @@ public class MllpCommitErrorAcknowledgementExceptionTest extends MllpExceptionTe
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpCommitErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpCommitErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpCommitErrorAcknowledgementException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -52,7 +52,8 @@ public class MllpCommitErrorAcknowledgementExceptionTest extends MllpExceptionTe
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpCommitErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpCommitErrorAcknowledgementException(
+                HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpCommitErrorAcknowledgementException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -67,7 +68,7 @@ public class MllpCommitErrorAcknowledgementExceptionTest extends MllpExceptionTe
      */
     @Test
     public void testGetAcknowledgmentType() throws Exception {
-        instance = new MllpCommitErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpCommitErrorAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertEquals("CE", instance.getAcknowledgmentType());
     }
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementExceptionTest.java
index b813282..89daad6 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementExceptionTest.java
@@ -37,7 +37,7 @@ public class MllpCommitRejectAcknowledgementExceptionTest extends MllpExceptionT
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpCommitRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpCommitRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpCommitRejectAcknowledgementException.EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -52,7 +52,8 @@ public class MllpCommitRejectAcknowledgementExceptionTest extends MllpExceptionT
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpCommitRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpCommitRejectAcknowledgementException(
+                HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(MllpCommitRejectAcknowledgementException.EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -67,7 +68,7 @@ public class MllpCommitRejectAcknowledgementExceptionTest extends MllpExceptionT
      */
     @Test
     public void testGetAcknowledgmentType() throws Exception {
-        instance = new MllpCommitRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpCommitRejectAcknowledgementException(HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertEquals("CR", instance.getAcknowledgmentType());
     }
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTest.java
index 3cd7e6e..2f5a861 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTest.java
@@ -32,121 +32,121 @@ public class MllpExceptionTest extends MllpExceptionTestSupport {
 
     @BeforeEach
     public void setUp() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
     }
 
     @Test
     public void testGetHl7MessageBytes() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE);
+        instance = new MllpException(EXCEPTION_MESSAGE, LOG_PHI_TRUE);
         assertNull(instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
         assertArrayEquals(HL7_MESSAGE_BYTES, instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertArrayEquals(HL7_MESSAGE_BYTES, instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertArrayEquals(HL7_MESSAGE_BYTES, instance.getHl7MessageBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
         assertArrayEquals(HL7_MESSAGE_BYTES, instance.getHl7MessageBytes());
     }
 
     @Test
     public void testGetHl7AcknowledgementBytes() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE);
+        instance = new MllpException(EXCEPTION_MESSAGE, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
         assertNull(instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
         assertArrayEquals(HL7_ACKNOWLEDGEMENT_BYTES, instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, null, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, null, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
         assertArrayEquals(HL7_ACKNOWLEDGEMENT_BYTES, instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
         assertArrayEquals(HL7_ACKNOWLEDGEMENT_BYTES, instance.getHl7AcknowledgementBytes());
 
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
         assertArrayEquals(HL7_ACKNOWLEDGEMENT_BYTES, instance.getHl7AcknowledgementBytes());
     }
 
     @Test
     public void testNullHl7Message() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE, null, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, null, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertEquals(expectedMessage(null, HL7_ACKNOWLEDGEMENT), instance.getMessage());
     }
 
     @Test
     public void testEmptyHl7Message() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpException(EXCEPTION_MESSAGE, EMPTY_BYTE_ARRAY, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertEquals(expectedMessage(null, HL7_ACKNOWLEDGEMENT), instance.getMessage());
     }
 
     @Test
     public void testNullHl7Acknowledgement() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
 
         assertEquals(expectedMessage(HL7_MESSAGE, null), instance.getMessage());
     }
 
     @Test
     public void testEmptyAcknowledgement() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, EMPTY_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, EMPTY_BYTE_ARRAY, LOG_PHI_TRUE);
 
         assertEquals(expectedMessage(HL7_MESSAGE, null), instance.getMessage());
     }
 
     @Test
     public void testNullHl7Payloads() throws Exception {
-        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, NULL_BYTE_ARRAY);
+        instance = new MllpException(EXCEPTION_MESSAGE, NULL_BYTE_ARRAY, NULL_BYTE_ARRAY, LOG_PHI_TRUE);
 
         assertEquals(expectedMessage(null, null), instance.getMessage());
     }
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTestSupport.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTestSupport.java
index 4b3e1ab..3f3bd7b 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTestSupport.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpExceptionTestSupport.java
@@ -29,6 +29,8 @@ public abstract class MllpExceptionTestSupport {
     public static final byte[] HL7_MESSAGE_BYTES = HL7_MESSAGE.getBytes();
     public static final byte[] HL7_ACKNOWLEDGEMENT_BYTES = HL7_ACKNOWLEDGEMENT.getBytes();
 
+    public static final boolean LOG_PHI_TRUE = true;
+
     public static final Exception CAUSE = new Exception("Dummy Exception");
 
 }
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementExceptionTest.java
index 6f7d50f..fe7c1fd 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidAcknowledgementExceptionTest.java
@@ -38,7 +38,8 @@ public class MllpInvalidAcknowledgementExceptionTest extends MllpExceptionTestSu
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpInvalidAcknowledgementException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpInvalidAcknowledgementException(
+                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -54,7 +55,7 @@ public class MllpInvalidAcknowledgementExceptionTest extends MllpExceptionTestSu
     @Test
     public void testConstructorTwo() throws Exception {
         instance = new MllpInvalidAcknowledgementException(
-                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidMessageExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidMessageExceptionTest.java
index f060b0e..c240522 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidMessageExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpInvalidMessageExceptionTest.java
@@ -38,7 +38,7 @@ public class MllpInvalidMessageExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpInvalidMessageException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpInvalidMessageException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -53,7 +53,7 @@ public class MllpInvalidMessageExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpInvalidMessageException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpInvalidMessageException(EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementExceptionTest.java
index 6e2e203..c36346f 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpNegativeAcknowledgementExceptionTest.java
@@ -39,7 +39,7 @@ public class MllpNegativeAcknowledgementExceptionTest extends MllpExceptionTestS
     @Test
     public void testConstructorOne() throws Exception {
         instance = new MllpNegativeAcknowledgementExceptionStub(
-                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(EXCEPTION_MESSAGE));
         assertNull(instance.getCause());
@@ -55,7 +55,7 @@ public class MllpNegativeAcknowledgementExceptionTest extends MllpExceptionTestS
     @Test
     public void testConstructorTwo() throws Exception {
         instance = new MllpNegativeAcknowledgementExceptionStub(
-                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertTrue(instance.getMessage().startsWith(EXCEPTION_MESSAGE));
         assertSame(CAUSE, instance.getCause());
@@ -71,20 +71,20 @@ public class MllpNegativeAcknowledgementExceptionTest extends MllpExceptionTestS
     @Test
     public void testGetAcknowledgmentType() throws Exception {
         instance = new MllpNegativeAcknowledgementExceptionStub(
-                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+                EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertNull(instance.getAcknowledgmentType());
     }
 
     static class MllpNegativeAcknowledgementExceptionStub extends MllpNegativeAcknowledgementException {
 
-        MllpNegativeAcknowledgementExceptionStub(String message, byte[] hl7Message, byte[] hl7Acknowledgement) {
-            super(message, hl7Message, hl7Acknowledgement);
+        MllpNegativeAcknowledgementExceptionStub(String message, byte[] hl7Message, byte[] hl7Acknowledgement, boolean logPhi) {
+            super(message, hl7Message, hl7Acknowledgement, logPhi);
         }
 
         MllpNegativeAcknowledgementExceptionStub(String message, byte[] hl7Message, byte[] hl7Acknowledgement,
-                                                 Throwable cause) {
-            super(message, hl7Message, hl7Acknowledgement, cause);
+                                                 Throwable cause, boolean logPhi) {
+            super(message, hl7Message, hl7Acknowledgement, cause, logPhi);
         }
 
         @Override
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpReceiveExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpReceiveExceptionTest.java
index 4a6f41f..8c2819a 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpReceiveExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpReceiveExceptionTest.java
@@ -38,7 +38,7 @@ public class MllpReceiveExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE);
+        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -53,7 +53,7 @@ public class MllpReceiveExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, CAUSE);
+        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -68,7 +68,7 @@ public class MllpReceiveExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorThree() throws Exception {
-        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -83,7 +83,7 @@ public class MllpReceiveExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorFour() throws Exception {
-        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -98,7 +98,7 @@ public class MllpReceiveExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorFive() throws Exception {
-        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -113,7 +113,8 @@ public class MllpReceiveExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorSix() throws Exception {
-        instance = new MllpReceiveException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpReceiveException(
+                TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpWriteExceptionTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpWriteExceptionTest.java
index 007fe96..615319d 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpWriteExceptionTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpWriteExceptionTest.java
@@ -38,7 +38,7 @@ public class MllpWriteExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorOne() throws Exception {
-        instance = new MllpWriteException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES);
+        instance = new MllpWriteException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -53,7 +53,7 @@ public class MllpWriteExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorTwo() throws Exception {
-        instance = new MllpWriteException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES);
+        instance = new MllpWriteException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, LOG_PHI_TRUE);
 
         assertNull(instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -68,7 +68,7 @@ public class MllpWriteExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorThree() throws Exception {
-        instance = new MllpWriteException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE);
+        instance = new MllpWriteException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
@@ -83,7 +83,8 @@ public class MllpWriteExceptionTest extends MllpExceptionTestSupport {
      */
     @Test
     public void testConstructorFour() throws Exception {
-        instance = new MllpWriteException(TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE);
+        instance = new MllpWriteException(
+                TEST_EXCEPTION_MESSAGE, HL7_MESSAGE_BYTES, HL7_ACKNOWLEDGEMENT_BYTES, CAUSE, LOG_PHI_TRUE);
 
         assertSame(CAUSE, instance.getCause());
         assertTrue(instance.getMessage().startsWith(TEST_EXCEPTION_MESSAGE));
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java
index a04fe9f..bd80733 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java
@@ -37,6 +37,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.camel.component.mllp.MllpExceptionTestSupport.*;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -337,7 +338,7 @@ public abstract class TcpServerConsumerEndOfDataAndValidationTestSupport extends
                             "PID" + MllpProtocolConstants.START_OF_BLOCK)
                     : Hl7TestMessageGenerator.generateMessage(i + 1);
 
-            log.debug("Sending message {}", new Hl7Util(5120).convertToPrintFriendlyString(message));
+            log.debug("Sending message {}", new Hl7Util(5120, LOG_PHI_TRUE).convertToPrintFriendlyString(message));
 
             mllpClient.sendMessageAndWaitForAcknowledgement(message);
         }
diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java
index 3c01312..adc87f6 100644
--- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java
+++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.component.mllp.MllpProtocolConstants;
 import org.apache.camel.test.stub.camel.MllpEndpointStub;
 import org.junit.jupiter.api.Test;
 
+import static org.apache.camel.component.mllp.MllpExceptionTestSupport.LOG_PHI_TRUE;
 import static org.hamcrest.CoreMatchers.endsWith;
 import static org.hamcrest.CoreMatchers.startsWith;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -101,7 +102,7 @@ public class Hl7UtilTest {
 
     static final byte[] TEST_MESSAGE_BYTES = TEST_MESSAGE.getBytes();
 
-    private final Hl7Util hl7util = new Hl7Util(5120);
+    private final Hl7Util hl7util = new Hl7Util(5120, LOG_PHI_TRUE);
 
     private Charset charset = Charset.forName("ISO_8859_1");
 
@@ -667,7 +668,7 @@ public class Hl7UtilTest {
 
     @Test
     public void testConvertToPrintFriendlyStringWithPhiMaxBytes() {
-        Hl7Util local = new Hl7Util(3);
+        Hl7Util local = new Hl7Util(3, LOG_PHI_TRUE);
         String result = local.convertToPrintFriendlyString(TEST_MESSAGE);
         assertEquals("MSH", result);
     }