Author: ggregory
Date: Wed Jun 25 03:49:04 2014
New Revision: 1605246

URL: http://svn.apache.org/r1605246
Log:
Use a standard acronym to describe the start of escape sequences (See "Sequence 
elements" in https://en.wikipedia.org/wiki/ANSI_escape_code).

Added:
    
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ProgressConsoleTest.java
   (with props)
    
logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j2-console-progress.xml
   (with props)
Modified:
    
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AnsiEscape.java

Modified: 
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AnsiEscape.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AnsiEscape.java?rev=1605246&r1=1605245&r2=1605246&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AnsiEscape.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AnsiEscape.java
 Wed Jun 25 03:49:04 2014
@@ -34,9 +34,13 @@ import org.apache.logging.log4j.util.Eng
 public enum AnsiEscape {
 
     /**
-     * Escape prefix.
+     * The Control Sequence Introducer (or Control Sequence Initiator).
+     * <p>
+     * Most sequences are more than two characters and start with the 
characters ESC and [ (the left bracket).
+     * </p>
      */
-    PREFIX("\u001b["),
+    CSI("\u001b["),
+    
     /**
      * Escape suffix.
      */
@@ -224,7 +228,7 @@ public enum AnsiEscape {
      * @return the default style
      */
     public static String getDefaultStyle() {
-        return PREFIX.getCode() + SUFFIX.getCode();
+        return CSI.getCode() + SUFFIX.getCode();
     }
 
     /**
@@ -309,7 +313,7 @@ public enum AnsiEscape {
         if (names == null) {
             return getDefaultStyle();
         }
-        final StringBuilder sb = new 
StringBuilder(AnsiEscape.PREFIX.getCode());
+        final StringBuilder sb = new StringBuilder(AnsiEscape.CSI.getCode());
         boolean first = true;
         for (final String name : names) {
             try {

Added: 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ProgressConsoleTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ProgressConsoleTest.java?rev=1605246&view=auto
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ProgressConsoleTest.java
 (added)
+++ 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ProgressConsoleTest.java
 Wed Jun 25 03:49:04 2014
@@ -0,0 +1,48 @@
+package org.apache.logging.log4j.core.appender;
+
+import java.text.DecimalFormat;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.config.Configurator;
+
+public class ProgressConsoleTest {
+
+    private static final Logger LOG = 
LogManager.getLogger(ProgressConsoleTest.class);
+
+    public static void main(final String[] args) {
+        final LoggerContext ctx = 
Configurator.initialize(ProgressConsoleTest.class.getName(),
+                "src/test/resources/log4j2-console-progress.xml");
+        //src/test/resources/log4j2-console-progress.xml
+        //target/test-classes/log4j2-progress-console.xml
+        try {
+            for (double i = 0; i <= 1; i = i + 0.05) {
+                updateProgress(i);
+                try {
+                    Thread.sleep(100);
+                } catch (InterruptedException e) {
+                    // TODO Auto-generated catch block
+                    e.printStackTrace();
+                }
+            }
+        } finally {
+            Configurator.shutdown(ctx);
+        }
+    }
+
+    private static void updateProgress(final double progressPercentage) {
+        final int width = 50; // progress bar width in chars
+
+        String s = "[";
+        int i = 0;
+        for (; i <= (int) (progressPercentage * width); i++) {
+            s += ".";
+        }
+        for (; i < width; i++) {
+            s += " ";
+        }
+        s += "](" + (new DecimalFormat("#0.00")).format(progressPercentage * 
100) + "%)\r";
+        LOG.info(s);
+    }
+}

Propchange: 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ProgressConsoleTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ProgressConsoleTest.java
------------------------------------------------------------------------------
    svn:keywords = Id

Added: 
logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j2-console-progress.xml
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j2-console-progress.xml?rev=1605246&view=auto
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j2-console-progress.xml
 (added)
+++ 
logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j2-console-progress.xml
 Wed Jun 25 03:49:04 2014
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<Configuration status="OFF">
+  <Appenders>
+    <Console name="Console" target="SYSTEM_OUT">
+      <PatternLayout pattern="%highlight{%-5level: %msg%throwable}" />
+    </Console>
+  </Appenders>
+  <Loggers>
+    <Logger name="org.apache.logging.log4j.core.appender.ProgressConsoleTest" 
level="DEBUG" />
+    <Root level="TRACE">
+      <AppenderRef ref="Console" />
+    </Root>
+  </Loggers>
+</Configuration>
\ No newline at end of file

Propchange: 
logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j2-console-progress.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j2-console-progress.xml
------------------------------------------------------------------------------
    svn:keywords = Id


Reply via email to