Repository: karaf Updated Branches: refs/heads/master 323d2b181 -> c1b92b14c
Remove some duplication in LogEventFormatterImpl Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/c1b92b14 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/c1b92b14 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/c1b92b14 Branch: refs/heads/master Commit: c1b92b14cb035092447bba740e6acf3436243eb7 Parents: 323d2b1 Author: Christian Schneider <[email protected]> Authored: Fri Jul 21 16:21:07 2017 +0200 Committer: Christian Schneider <[email protected]> Committed: Fri Jul 21 16:21:22 2017 +0200 ---------------------------------------------------------------------- .../core/internal/LogEventFormatterImpl.java | 123 ++++--------------- .../karaf/log/core/internal/osgi/Activator.java | 13 +- 2 files changed, 30 insertions(+), 106 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/c1b92b14/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java ---------------------------------------------------------------------- diff --git a/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java b/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java index 0ba1f3e..5709b6b 100644 --- a/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java +++ b/log/src/main/java/org/apache/karaf/log/core/internal/LogEventFormatterImpl.java @@ -16,6 +16,9 @@ */ package org.apache.karaf.log.core.internal; +import java.util.HashMap; +import java.util.Map; + import org.apache.karaf.log.core.LogEventFormatter; import org.apache.karaf.log.core.internal.layout.PatternConverter; import org.apache.karaf.log.core.internal.layout.PatternParser; @@ -23,79 +26,19 @@ import org.ops4j.pax.logging.spi.PaxLoggingEvent; public class LogEventFormatterImpl implements LogEventFormatter { - protected String pattern; - protected String fatalColor; - protected String errorColor; - protected String warnColor; - protected String infoColor; - protected String debugColor; - protected String traceColor; - - private static final String FATAL = "fatal"; - private static final String ERROR = "error"; - private static final String WARN = "warn"; - private static final String INFO = "info"; - private static final String DEBUG = "debug"; - private static final String TRACE = "trace"; - - private static final char FIRST_ESC_CHAR = 27; - private static final char SECOND_ESC_CHAR = '['; - private static final char COMMAND_CHAR = 'm'; - - public String getPattern() { - return pattern; - } + private String pattern; + private Map<Integer, String> level2Color = new HashMap<>(); public void setPattern(String pattern) { this.pattern = pattern; } - public String getFatalColor() { - return fatalColor; - } - - public void setFatalColor(String fatalColor) { - this.fatalColor = fatalColor; - } - - public String getErrorColor() { - return errorColor; - } - - public void setErrorColor(String errorColor) { - this.errorColor = errorColor; - } - - public String getWarnColor() { - return warnColor; - } - - public void setWarnColor(String warnColor) { - this.warnColor = warnColor; - } - - public String getInfoColor() { - return infoColor; - } - - public void setInfoColor(String infoColor) { - this.infoColor = infoColor; - } - - public String getDebugColor() { - return debugColor; - } - - public void setDebugColor(String debugColor) { - this.debugColor = debugColor; - } - - public String getTraceColor() { - return traceColor; - } - - public void setTraceColor(String traceColor) { - this.traceColor = traceColor; + public void setColor(int level, String color) { + if (color != null && color.length() > 0) { + this.level2Color.put(level, color); + } else { + this.level2Color.remove(level); + } } /* (non-Javadoc) @@ -106,13 +49,7 @@ public class LogEventFormatterImpl implements LogEventFormatter { final PatternConverter cnv = new PatternParser(overridenPattern != null ? overridenPattern : pattern).parse(); String color = getColor(event, noColor); StringBuffer sb = new StringBuffer(); - sb.setLength(0); - if (color != null) { - sb.append(FIRST_ESC_CHAR); - sb.append(SECOND_ESC_CHAR); - sb.append(color); - sb.append(COMMAND_CHAR); - } + color(sb, color); for (PatternConverter pc = cnv; pc != null; pc = pc.next) { pc.format(sb, event); } @@ -121,37 +58,25 @@ public class LogEventFormatterImpl implements LogEventFormatter { sb.append(r).append('\n'); } } + color(sb, "0"); + return sb.toString(); + } + + private void color(StringBuffer sb, String color) { if (color != null) { - sb.append(FIRST_ESC_CHAR); - sb.append(SECOND_ESC_CHAR); - sb.append("0"); - sb.append(COMMAND_CHAR); + sb.append((char)27); + sb.append('['); + sb.append(color); + sb.append('m'); } - return sb.toString(); } private String getColor(PaxLoggingEvent event, boolean noColor) { - String color = null; if (!noColor && event != null && event.getLevel() != null && event.getLevel().toString() != null) { - String lvl = event.getLevel().toString().toLowerCase(); - if (FATAL.equals(lvl)) { - color = fatalColor; - } else if (ERROR.equals(lvl)) { - color = errorColor; - } else if (WARN.equals(lvl)) { - color = warnColor; - } else if (INFO.equals(lvl)) { - color = infoColor; - } else if (DEBUG.equals(lvl)) { - color = debugColor; - } else if (TRACE.equals(lvl)) { - color = traceColor; - } - if (color != null && color.length() == 0) { - color = null; - } + return level2Color.get(event.getLevel().toInt()); + } else { + return null; } - return color; } } http://git-wip-us.apache.org/repos/asf/karaf/blob/c1b92b14/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java ---------------------------------------------------------------------- diff --git a/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java b/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java index 5a9bf9f..5e93a0a 100644 --- a/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java +++ b/log/src/main/java/org/apache/karaf/log/core/internal/osgi/Activator.java @@ -29,6 +29,7 @@ import org.apache.karaf.util.tracker.annotation.Managed; import org.apache.karaf.util.tracker.annotation.ProvideService; import org.apache.karaf.util.tracker.annotation.RequireService; import org.apache.karaf.util.tracker.annotation.Services; +import org.ops4j.pax.logging.PaxLogger; import org.ops4j.pax.logging.spi.PaxAppender; import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.service.cm.ManagedService; @@ -48,7 +49,6 @@ public class Activator extends BaseActivator implements ManagedService { int size = getInt("size", 500); String pattern = getString("pattern", "%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n"); - String fatalColor = getString("fatalColor", "31"); String errorColor = getString("errorColor", "31"); String warnColor = getString("warnColor", "35"); String infoColor = getString("infoColor", "36"); @@ -62,12 +62,11 @@ public class Activator extends BaseActivator implements ManagedService { LogEventFormatterImpl formatter = new LogEventFormatterImpl(); formatter.setPattern(pattern); - formatter.setFatalColor(fatalColor); - formatter.setErrorColor(errorColor); - formatter.setWarnColor(warnColor); - formatter.setInfoColor(infoColor); - formatter.setDebugColor(debugColor); - formatter.setTraceColor(traceColor); + formatter.setColor(PaxLogger.LEVEL_ERROR, errorColor); + formatter.setColor(PaxLogger.LEVEL_WARNING, warnColor); + formatter.setColor(PaxLogger.LEVEL_INFO, infoColor); + formatter.setColor(PaxLogger.LEVEL_DEBUG, debugColor); + formatter.setColor(PaxLogger.LEVEL_TRACE, traceColor); register(LogEventFormatter.class, formatter); LogServiceImpl logService = new LogServiceImpl(configurationAdmin, events);
