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 2017/07/31 07:59:21 UTC

[2/6] karaf git commit: Remove some duplication in LogEventFormatterImpl

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/2482d225
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/2482d225
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/2482d225

Branch: refs/heads/karaf-4.1.x
Commit: 2482d2259a6807fdefc78b33bc24e181cba5330d
Parents: fd4f640
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Fri Jul 21 16:21:07 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Mon Jul 31 09:25:48 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/2482d225/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/2482d225/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 c0a6a23..d2dc0e8 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);