You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2016/09/27 06:34:59 UTC
airavata git commit: Handle arguments and string formatting
Repository: airavata
Updated Branches:
refs/heads/lahiru/AIRAVATA-2065 c94365cf4 -> c24e90ef6
Handle arguments and string formatting
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c24e90ef
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c24e90ef
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c24e90ef
Branch: refs/heads/lahiru/AIRAVATA-2065
Commit: c24e90ef68d255bf46829b08d975dc0330d9088a
Parents: c94365c
Author: Lahiru Ginnaliya Gamathige <la...@apache.org>
Authored: Mon Sep 26 23:34:45 2016 -0700
Committer: Lahiru Ginnaliya Gamathige <la...@apache.org>
Committed: Mon Sep 26 23:34:45 2016 -0700
----------------------------------------------------------------------
.../common/logging/kafka/KafkaAppender.java | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/c24e90ef/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java b/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java
index 6bc1c1d..37240b1 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/logging/kafka/KafkaAppender.java
@@ -79,22 +79,35 @@ public class KafkaAppender extends UnsynchronizedAppenderBase<ILoggingEvent> {
protected void append(ILoggingEvent event) {
event.prepareForDeferredProcessing();
//todo do more elegant streaming approach to publish logs
+
if (!event.getLevel().equals(Level.ALL) && // OFF AND ALL are not loggable levels
!event.getLevel().equals(Level.OFF)) {
final IThrowableProxy throwableProxy = event.getThrowableProxy();
final LogEntry entry = throwableProxy != null ?
- new LogEntry(serverId, event.getMessage(), Instant.ofEpochMilli(event.getTimeStamp()).toString(),
+ new LogEntry(serverId, createMessage(event), Instant.ofEpochMilli(event.getTimeStamp()).toString(),
event.getLevel().toString(), event.getLoggerName(), event.getMDCPropertyMap(),
event.getThreadName() != null ? event.getThreadName() : null,
new Exception(throwableProxy.getMessage(), toStringArray(throwableProxy.getStackTraceElementProxyArray())
, throwableProxy.getClassName()))
- : new LogEntry(serverId, event.getMessage(), Instant.ofEpochMilli(event.getTimeStamp()).toString(),
+ : new LogEntry(serverId, createMessage(event), Instant.ofEpochMilli(event.getTimeStamp()).toString(),
event.getLevel().toString(), event.getLoggerName(), event.getMDCPropertyMap(),
event.getThreadName() != null ? event.getThreadName() : null);
producer.send(new ProducerRecord<>(kafkaTopic, new Gson().toJson(entry)));
}
}
+ private String createMessage(ILoggingEvent event) {
+ String message = event.getMessage();
+ final Object[] arguments = event.getArgumentArray();
+ if (arguments.length > 0) {
+ int maxLength = arguments.length < 3 ? arguments.length : 3;
+ for (int i = 0; i < maxLength; i++) {
+ message = event.getMessage().replaceFirst("\\{\\}", arguments[i].toString());
+ }
+ }
+ return message;
+ }
+
private String[] toStringArray(StackTraceElementProxy[] stackTraceElement) {
return Arrays.stream(stackTraceElement).map(StackTraceElementProxy::getSTEAsString).toArray(String[]::new);