This is an automated email from the ASF dual-hosted git repository.
mattyb149 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 649e2d2 NIFI-9731: Updated to use a shorter, simpler output format
for FlowFiles when creating bulletins
649e2d2 is described below
commit 649e2d25560318b7d8a0a6b7e5d2ab9c899e1af6
Author: Mark Payne <[email protected]>
AuthorDate: Fri Feb 25 14:15:18 2022 -0500
NIFI-9731: Updated to use a shorter, simpler output format for FlowFiles
when creating bulletins
NIFI-9731: Only simplify flowfile arg in bulletin after extracting the
flowfile uuid
Signed-off-by: Matthew Burgess <[email protected]>
This closes #5808
---
.../logging/repository/StandardLogRepository.java | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
index d2859f6..a251ca9 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/logging/repository/StandardLogRepository.java
@@ -68,8 +68,8 @@ public class StandardLogRepository implements LogRepository {
@Override
public void addLogMessage(final LogLevel level, final String format, final
Object[] params) {
- replaceThrowablesWithMessage(params);
final Optional<String> flowFileUuid =
getFirstFlowFileUuidFromObjects(params);
+ simplifyArgs(params);
final String formattedMessage = MessageFormatter.arrayFormat(format,
params).getMessage();
final LogMessage logMessage = new
LogMessage.Builder(System.currentTimeMillis(), level)
.message(formattedMessage)
@@ -80,8 +80,8 @@ public class StandardLogRepository implements LogRepository {
@Override
public void addLogMessage(final LogLevel level, final String format, final
Object[] params, final Throwable t) {
- replaceThrowablesWithMessage(params);
final Optional<String> flowFileUuid =
getFirstFlowFileUuidFromObjects(params);
+ simplifyArgs(params);
final String formattedMessage = MessageFormatter.arrayFormat(format,
params, t).getMessage();
final LogMessage logMessage = new
LogMessage.Builder(System.currentTimeMillis(), level)
.message(formattedMessage)
@@ -105,14 +105,23 @@ public class StandardLogRepository implements
LogRepository {
return Optional.ofNullable(flowFileFound).map(ff ->
ff.getAttribute(CoreAttributes.UUID.key()));
}
- private void replaceThrowablesWithMessage(final Object[] params) {
+ private void simplifyArgs(final Object[] params) {
for (int i = 0; i < params.length; i++) {
- if (params[i] instanceof Throwable) {
- params[i] = ((Throwable) params[i]).getLocalizedMessage();
- }
+ params[i] = simplifyArg(params[i]);
}
}
+ private Object simplifyArg(final Object param) {
+ if (param instanceof Throwable) {
+ return ((Throwable) param).getLocalizedMessage();
+ } else if (param instanceof FlowFile) {
+ final FlowFile flowFile = (FlowFile) param;
+ return "FlowFile[filename=" +
flowFile.getAttribute(CoreAttributes.FILENAME.key()) + "]";
+ }
+
+ return param;
+ }
+
@Override
public void setObservationLevel(String observerIdentifier, LogLevel level)
{
writeLock.lock();