You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2015/03/19 10:56:54 UTC

karaf-decanter git commit: [KARAF-3620] Add throwable information to log message

Repository: karaf-decanter
Updated Branches:
  refs/heads/master 3701da08e -> 78b05dfd8


[KARAF-3620] Add throwable information to log message


Project: http://git-wip-us.apache.org/repos/asf/karaf-decanter/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-decanter/commit/78b05dfd
Tree: http://git-wip-us.apache.org/repos/asf/karaf-decanter/tree/78b05dfd
Diff: http://git-wip-us.apache.org/repos/asf/karaf-decanter/diff/78b05dfd

Branch: refs/heads/master
Commit: 78b05dfd89ce740ee980fa881e256c367060ce44
Parents: 3701da0
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Thu Mar 19 10:56:50 2015 +0100
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Thu Mar 19 10:56:50 2015 +0100

----------------------------------------------------------------------
 .../karaf/decanter/collector/log/LogAppender.java      | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/78b05dfd/collector/log/src/main/java/org/apache/karaf/decanter/collector/log/LogAppender.java
----------------------------------------------------------------------
diff --git a/collector/log/src/main/java/org/apache/karaf/decanter/collector/log/LogAppender.java b/collector/log/src/main/java/org/apache/karaf/decanter/collector/log/LogAppender.java
index 9c520bc..0f39277 100644
--- a/collector/log/src/main/java/org/apache/karaf/decanter/collector/log/LogAppender.java
+++ b/collector/log/src/main/java/org/apache/karaf/decanter/collector/log/LogAppender.java
@@ -69,12 +69,25 @@ public class LogAppender implements PaxAppender {
         data.put("renderedMessage", event.getRenderedMessage());
         data.put("MDC", event.getProperties());
 
+        String[] throwableAr = event.getThrowableStrRep(); 
+        if (throwableAr != null) {
+            data.put("throwable", join(throwableAr));
+        }
+
         if (!isIgnored(event.getLoggerName())) {
             String topic = "decanter/log/" + event.getLoggerName().replace(".", "/");
             this.dispatcher.postEvent(new Event(topic, data));
         }
     }
 
+    private Object join(String[] throwableAr) {
+        StringBuilder builder = new StringBuilder();
+        for (String line : throwableAr) {
+            builder.append(line).append("\n");
+        }
+        return builder.toString();
+    }
+
     private boolean isIgnored(String loggerName) {
         for (String cat : ignoredCategories) {
             if (loggerName.startsWith(cat)) {