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é <[email protected]> Authored: Sun Apr 10 11:37:34 2016 +0200 Committer: Jean-Baptiste Onofré <[email protected]> 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;
