You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2016/04/10 11:38:08 UTC

karaf-decanter git commit: [KARAF-4481] Check ignored log events earlier in the log appender

Repository: karaf-decanter
Updated Branches:
  refs/heads/master 41e8b2526 -> 302743157


[KARAF-4481] Check ignored log events earlier in the log appender


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

Branch: refs/heads/master
Commit: 30274315700213676d1de0afb5f38adc49c75c22
Parents: 41e8b25
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Sun Apr 10 11:37:34 2016 +0200
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Sun Apr 10 11:37:34 2016 +0200

----------------------------------------------------------------------
 .../decanter/collector/log/LogAppender.java     | 25 +++++++++++++-------
 1 file changed, 16 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/30274315/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 cc3d321..3d0425d 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
@@ -41,6 +41,7 @@ import org.slf4j.LoggerFactory;
     immediate = true
 )
 public class LogAppender implements PaxAppender {
+    
     private static final String MDC_IN_LOG_APPENDER = "inLogAppender";
     private final static String[] ignoredCategories = {"org.apache.karaf.decanter"};
     private final static Logger LOGGER = LoggerFactory.getLogger(LogAppender.class);
@@ -62,7 +63,12 @@ public class LogAppender implements PaxAppender {
     }
 
     private void appendInternal(PaxLoggingEvent event) throws Exception {
-        LOGGER.debug("Karaf Decanter Log Collector hooked ...");
+        if (isIgnored(event.getLoggerName())) {
+            LOGGER.debug("{} logger is ignored by the log collector", event.getLoggerName());
+            return;
+        }
+
+        LOGGER.debug("Publishing log event to the appenders ...");
 
         Map<String, Object> data = new HashMap<>();
         data.put("type", "log");
@@ -83,19 +89,17 @@ public class LogAppender implements PaxAppender {
         data.put("renderedMessage", event.getRenderedMessage());
         data.put("MDC", event.getProperties());
         putLocation(data, event.getLocationInformation());
-        String[] throwableAr = event.getThrowableStrRep(); 
+        String[] throwableAr = event.getThrowableStrRep();
         if (throwableAr != null) {
             data.put("throwable", join(throwableAr));
         }
 
-        if (!isIgnored(event.getLoggerName())) {
-            String loggerName = event.getLoggerName();
-            if (loggerName == null || loggerName.isEmpty()) {
-                loggerName = "default";
-            }
-            String topic = "decanter/collect/log/" + loggerName.replace(".", "/").replace(" ", "_").replace("{", "_").replace("}", "_").replace("$", "_");
-            this.dispatcher.postEvent(new Event(topic, data));
+        String loggerName = event.getLoggerName();
+        if (loggerName == null || loggerName.isEmpty()) {
+            loggerName = "default";
         }
+        String topic = "decanter/collect/log/" + loggerName.replace(".", "/").replace(" ", "_").replace("{", "_").replace("}", "_").replace("$", "_");
+        this.dispatcher.postEvent(new Event(topic, data));
     }
 
     private void putLocation(Map<String, Object> data, PaxLocationInfo loc) {
@@ -114,6 +118,9 @@ public class LogAppender implements PaxAppender {
     }
 
     private boolean isIgnored(String loggerName) {
+        if (loggerName == null) {
+            return true;
+        }
         for (String cat : ignoredCategories) {
             if (loggerName.startsWith(cat)) {
                 return true;