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

joewitt pushed a commit to branch support/nifi-1.16
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/support/nifi-1.16 by this push:
     new 12bc71d622 NIFI-9923 Corrected SimpleProcessLogger handling of 
Throwable causes
12bc71d622 is described below

commit 12bc71d6223b74ada1f95fa30c13be09b21e977c
Author: exceptionfactory <[email protected]>
AuthorDate: Wed Apr 13 21:19:37 2022 -0500

    NIFI-9923 Corrected SimpleProcessLogger handling of Throwable causes
    
    - Changed log methods that accept a String and Object array to replace the 
last Throwable argument with a formatted summary of causes when calling 
LogRepository.addLogMessage()
    
    Signed-off-by: Joe Gresock <[email protected]>
    
    This closes #5965.
---
 .../org/apache/nifi/processor/SimpleProcessLogger.java  | 17 ++++++++++++-----
 .../apache/nifi/processor/TestSimpleProcessLogger.java  |  6 +++---
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/SimpleProcessLogger.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/SimpleProcessLogger.java
index 7262724dd4..32f19e328a 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/SimpleProcessLogger.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/SimpleProcessLogger.java
@@ -76,7 +76,7 @@ public class SimpleProcessLogger implements ComponentLog {
                 logRepository.addLogMessage(LogLevel.WARN, componentMessage, 
arguments);
             } else {
                 logger.warn(componentMessage, setFormattedThrowable(arguments, 
lastThrowable));
-                logRepository.addLogMessage(LogLevel.WARN, 
getCausesMessage(msg), addCauses(arguments, lastThrowable), lastThrowable);
+                logRepository.addLogMessage(LogLevel.WARN, 
getCausesMessage(msg), setCauses(arguments, lastThrowable), lastThrowable);
             }
         }
     }
@@ -138,7 +138,7 @@ public class SimpleProcessLogger implements ComponentLog {
                 logRepository.addLogMessage(LogLevel.TRACE, componentMessage, 
arguments);
             } else {
                 logger.trace(componentMessage, 
setFormattedThrowable(arguments, lastThrowable));
-                logRepository.addLogMessage(LogLevel.TRACE, 
getCausesMessage(msg), addCauses(arguments, lastThrowable), lastThrowable);
+                logRepository.addLogMessage(LogLevel.TRACE, 
getCausesMessage(msg), setCauses(arguments, lastThrowable), lastThrowable);
             }
         }
     }
@@ -225,7 +225,7 @@ public class SimpleProcessLogger implements ComponentLog {
                 logRepository.addLogMessage(LogLevel.INFO, componentMessage, 
arguments);
             } else {
                 logger.info(componentMessage, setFormattedThrowable(arguments, 
lastThrowable));
-                logRepository.addLogMessage(LogLevel.INFO, 
getCausesMessage(msg), addCauses(arguments, lastThrowable), lastThrowable);
+                logRepository.addLogMessage(LogLevel.INFO, 
getCausesMessage(msg), setCauses(arguments, lastThrowable), lastThrowable);
             }
         }
     }
@@ -297,7 +297,7 @@ public class SimpleProcessLogger implements ComponentLog {
                 logRepository.addLogMessage(LogLevel.ERROR, componentMessage, 
arguments);
             } else {
                 logger.error(componentMessage, 
setFormattedThrowable(arguments, lastThrowable));
-                logRepository.addLogMessage(LogLevel.ERROR, 
getCausesMessage(msg), addCauses(arguments, lastThrowable), lastThrowable);
+                logRepository.addLogMessage(LogLevel.ERROR, 
getCausesMessage(msg), setCauses(arguments, lastThrowable), lastThrowable);
             }
         }
     }
@@ -354,7 +354,7 @@ public class SimpleProcessLogger implements ComponentLog {
                 logRepository.addLogMessage(LogLevel.DEBUG, componentMessage, 
arguments);
             } else {
                 logger.debug(componentMessage, 
setFormattedThrowable(arguments, lastThrowable));
-                logRepository.addLogMessage(LogLevel.DEBUG, 
getCausesMessage(msg), addCauses(arguments, lastThrowable), lastThrowable);
+                logRepository.addLogMessage(LogLevel.DEBUG, 
getCausesMessage(msg), setCauses(arguments, lastThrowable), lastThrowable);
             }
         }
     }
@@ -538,6 +538,13 @@ public class SimpleProcessLogger implements ComponentLog {
         return ArrayUtils.add(arguments, causes);
     }
 
+    private Object[] setCauses(final Object[] arguments, final Throwable 
throwable) {
+        final String causes = getCauses(throwable);
+        final int lastIndex = arguments.length - 1;
+        final Object[] argumentsThrowableRemoved = 
ArrayUtils.remove(arguments, lastIndex);
+        return ArrayUtils.add(argumentsThrowableRemoved, causes);
+    }
+
     private Object[] setFormattedThrowable(final Object[] arguments, final 
Throwable throwable) {
         final int lastIndex = arguments.length - 1;
         final Object[] argumentsThrowableRemoved = 
ArrayUtils.remove(arguments, lastIndex);
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/processor/TestSimpleProcessLogger.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/processor/TestSimpleProcessLogger.java
index 0ef86821b0..2ed6723114 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/processor/TestSimpleProcessLogger.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/test/java/org/apache/nifi/processor/TestSimpleProcessLogger.java
@@ -83,7 +83,7 @@ public class TestSimpleProcessLogger {
 
     private Object[] componentValueArguments;
 
-    private Object[] componentValueExceptionStringCausesArguments;
+    private Object[] componentValueCausesArguments;
 
     private Object[] componentCausesArguments;
 
@@ -96,7 +96,7 @@ public class TestSimpleProcessLogger {
 
         componentArguments = new Object[]{component};
         componentValueArguments = new Object[]{component, FIRST, SECOND};
-        componentValueExceptionStringCausesArguments = new Object[]{component, 
FIRST, SECOND, EXCEPTION, EXPECTED_CAUSES};
+        componentValueCausesArguments = new Object[]{component, FIRST, SECOND, 
EXPECTED_CAUSES};
         componentCausesArguments = new Object[]{component, EXPECTED_CAUSES};
 
         when(logger.isTraceEnabled()).thenReturn(true);
@@ -218,7 +218,7 @@ public class TestSimpleProcessLogger {
                     continue;
             }
 
-            verify(logRepository).addLogMessage(eq(logLevel), 
eq(LOG_ARGUMENTS_MESSAGE_WITH_COMPONENT_AND_CAUSES), 
eq(componentValueExceptionStringCausesArguments), eq(EXCEPTION));
+            verify(logRepository).addLogMessage(eq(logLevel), 
eq(LOG_ARGUMENTS_MESSAGE_WITH_COMPONENT_AND_CAUSES), 
eq(componentValueCausesArguments), eq(EXCEPTION));
         }
     }
 

Reply via email to