You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2016/09/20 19:52:39 UTC

[2/2] logging-log4j2 git commit: Refactor acquisition of the "line.separator" system property to the API Util Strings class and reuse throughout Log4j. Replace odd code pattern that causes a FindBugs warning:

Refactor acquisition of the "line.separator" system property to the API
Util Strings class and reuse throughout Log4j. Replace odd code pattern
that causes a FindBugs warning: 

sb.append(String.format("}%n", "")); // yes, does not use args to apply
%n

with:

sb.append('}'); 
sb.append(Strings.LINE_SEPARATOR);

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/732f8ecf
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/732f8ecf
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/732f8ecf

Branch: refs/heads/master
Commit: 732f8ecff1f333ca49f56774fca684cc117fedaa
Parents: ff4afc6
Author: Gary Gregory <gg...@apache.org>
Authored: Tue Sep 20 12:52:33 2016 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Tue Sep 20 12:52:33 2016 -0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/log4j/Layout.java  |   4 +-
 .../java/org/apache/log4j/CategoryTest.java     |   3 +-
 .../org/apache/logging/log4j/util/Strings.java  |   7 +
 .../log4j/core/impl/ThrowableFormatOptions.java |   3 +-
 .../logging/log4j/core/layout/HtmlLayout.java   |  82 ++---
 .../ExtendedThrowablePatternConverter.java      |   6 +-
 .../pattern/LineSeparatorPatternConverter.java  |   4 +-
 .../pattern/RootThrowablePatternConverter.java  |   6 +-
 .../core/pattern/ThrowablePatternConverter.java |   5 +-
 .../logging/log4j/core/tools/Generate.java      |   5 +-
 .../logging/log4j/core/util/Constants.java      |   6 -
 .../log4j/core/GcFreeLoggingTestUtil.java       |  14 +-
 .../apache/logging/log4j/core/HostNameTest.java |   4 +-
 .../logging/log4j/core/PatternSelectorTest.java |  16 +-
 .../core/appender/ConsoleAppenderTest.java      |   4 +-
 .../core/appender/InMemoryAppenderTest.java     |   4 +-
 .../core/impl/ThrowableFormatOptionsTest.java   |  61 ++--
 .../log4j/core/net/SocketReconnectTest.java     |  12 +-
 .../core/pattern/MessageJansiConverterTest.java |   4 +-
 .../pattern/MessageStyledConverterTest.java     |   4 +-
 .../log4j/core/pattern/NoConsoleNoAnsiTest.java |   4 +-
 .../log4j/core/pattern/PatternParserTest.java   |  10 +-
 .../pattern/RegexReplacementConverterTest.java  |   4 +-
 .../core/pattern/RegexReplacementTest.java      |   6 +-
 .../log4j/core/pattern/StyleConverterTest.java  |   4 +-
 .../logging/log4j/test/layout/BasicLayout.java  |   6 +-
 .../apache/logging/log4j/jcl/LoggerTest.java    | 130 +++----
 .../ext/logging/log4j2/LoggingTest.java         |  12 +-
 .../org/apache/logging/slf4j/LoggerTest.java    | 364 +++++++++----------
 .../org/apache/logging/slf4j/OptionalTest.java  | 138 +++----
 30 files changed, 468 insertions(+), 464 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-1.2-api/src/main/java/org/apache/log4j/Layout.java
----------------------------------------------------------------------
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/Layout.java b/log4j-1.2-api/src/main/java/org/apache/log4j/Layout.java
index a23e78e..2ef4b1c 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/Layout.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/Layout.java
@@ -17,7 +17,7 @@
 package org.apache.log4j;
 
 import org.apache.log4j.spi.LoggingEvent;
-import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.util.Strings;
 
 /**
  *
@@ -25,7 +25,7 @@ import org.apache.logging.log4j.core.util.Constants;
 public abstract class Layout {
 
     /** Note that the line.separator property can be looked up even by applets. */
-    public static final int LINE_SEP_LEN = Constants.LINE_SEPARATOR.length();
+    public static final int LINE_SEP_LEN = Strings.LINE_SEPARATOR.length();
 
     /**
      * Implement this method to create your own layout format.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java
----------------------------------------------------------------------
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java b/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java
index 3b8aec3..f671193 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java
@@ -29,7 +29,6 @@ import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
 import org.apache.logging.log4j.core.layout.PatternLayout;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.message.Message;
 import org.apache.logging.log4j.message.ObjectMessage;
 import org.apache.logging.log4j.test.appender.ListAppender;
@@ -180,7 +179,7 @@ public class CategoryTest {
         final String msg = msgs.get(0);
         appender.clear();
         final String threadName = Thread.currentThread().getName();
-        final String expected = "ERROR o.a.l.CategoryTest [" + threadName + "] Test Message" + Constants.LINE_SEPARATOR;
+        final String expected = "ERROR o.a.l.CategoryTest [" + threadName + "] Test Message" + Strings.LINE_SEPARATOR;
         assertTrue("Incorrect message " + Strings.dquote(msg) + " expected " + Strings.dquote(expected), msg.endsWith(expected));
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
index 747bed4..f6608d6 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
@@ -31,6 +31,13 @@ public final class Strings {
      * The empty string.
      */
     public static final String EMPTY = "";
+    
+    /**
+     * OS-dependent line separator, defaults to {@code "\n"} if the system property {@code ""line.separator"} cannot be
+     * read.
+     */
+    public static final String LINE_SEPARATOR = PropertiesUtil.getProperties().getStringProperty("line.separator",
+            "\n");
 
     private Strings() {
         // empty

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptions.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptions.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptions.java
index b2be04d..d6bafca 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptions.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptions.java
@@ -23,7 +23,6 @@ import java.util.Scanner;
 import org.apache.logging.log4j.core.pattern.JAnsiTextRenderer;
 import org.apache.logging.log4j.core.pattern.TextRenderer;
 import org.apache.logging.log4j.core.pattern.PlainTextRenderer;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.core.util.Loader;
 import org.apache.logging.log4j.core.util.Patterns;
 import org.apache.logging.log4j.status.StatusLogger;
@@ -98,7 +97,7 @@ public final class ThrowableFormatOptions {
     protected ThrowableFormatOptions(final int lines, final String separator, final List<String> ignorePackages,
             final TextRenderer textRenderer) {
         this.lines = lines;
-        this.separator = separator == null ? Constants.LINE_SEPARATOR : separator;
+        this.separator = separator == null ? Strings.LINE_SEPARATOR : separator;
         this.ignorePackages = ignorePackages;
         this.textRenderer = textRenderer == null ? PlainTextRenderer.getInstance() : textRenderer;
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
index 030a402..67593e6 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
@@ -37,8 +37,8 @@ import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
 import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
 import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.core.util.Transform;
+import org.apache.logging.log4j.util.Strings;
 
 /**
  * Outputs events as rows in an HTML table on an HTML page.
@@ -56,7 +56,7 @@ public final class HtmlLayout extends AbstractStringLayout {
     public static final String DEFAULT_FONT_FAMILY = "arial,sans-serif";
 
     private static final String TRACE_PREFIX = "<br />&nbsp;&nbsp;&nbsp;&nbsp;";
-    private static final String REGEXP = Constants.LINE_SEPARATOR.equals("\n") ? "\n" : Constants.LINE_SEPARATOR + "|\n";
+    private static final String REGEXP = Strings.LINE_SEPARATOR.equals("\n") ? "\n" : Strings.LINE_SEPARATOR + "|\n";
     private static final String DEFAULT_TITLE = "Log4j Log Messages";
     private static final String DEFAULT_CONTENT_TYPE = "text/html";
 
@@ -141,16 +141,16 @@ public final class HtmlLayout extends AbstractStringLayout {
     public String toSerializable(final LogEvent event) {
         final StringBuilder sbuf = getStringBuilder();
 
-        sbuf.append(Constants.LINE_SEPARATOR).append("<tr>").append(Constants.LINE_SEPARATOR);
+        sbuf.append(Strings.LINE_SEPARATOR).append("<tr>").append(Strings.LINE_SEPARATOR);
 
         sbuf.append("<td>");
         sbuf.append(event.getTimeMillis() - jvmStartTime);
-        sbuf.append("</td>").append(Constants.LINE_SEPARATOR);
+        sbuf.append("</td>").append(Strings.LINE_SEPARATOR);
 
         final String escapedThread = Transform.escapeHtmlTags(event.getThreadName());
         sbuf.append("<td title=\"").append(escapedThread).append(" thread\">");
         sbuf.append(escapedThread);
-        sbuf.append("</td>").append(Constants.LINE_SEPARATOR);
+        sbuf.append("</td>").append(Strings.LINE_SEPARATOR);
 
         sbuf.append("<td title=\"Level\">");
         if (event.getLevel().equals(Level.DEBUG)) {
@@ -164,7 +164,7 @@ public final class HtmlLayout extends AbstractStringLayout {
         } else {
             sbuf.append(Transform.escapeHtmlTags(String.valueOf(event.getLevel())));
         }
-        sbuf.append("</td>").append(Constants.LINE_SEPARATOR);
+        sbuf.append("</td>").append(Strings.LINE_SEPARATOR);
 
         String escapedLogger = Transform.escapeHtmlTags(event.getLoggerName());
         if (escapedLogger.isEmpty()) {
@@ -172,7 +172,7 @@ public final class HtmlLayout extends AbstractStringLayout {
         }
         sbuf.append("<td title=\"").append(escapedLogger).append(" logger\">");
         sbuf.append(escapedLogger);
-        sbuf.append("</td>").append(Constants.LINE_SEPARATOR);
+        sbuf.append("</td>").append(Strings.LINE_SEPARATOR);
 
         if (locationInfo) {
             final StackTraceElement element = event.getSource();
@@ -180,20 +180,20 @@ public final class HtmlLayout extends AbstractStringLayout {
             sbuf.append(Transform.escapeHtmlTags(element.getFileName()));
             sbuf.append(':');
             sbuf.append(element.getLineNumber());
-            sbuf.append("</td>").append(Constants.LINE_SEPARATOR);
+            sbuf.append("</td>").append(Strings.LINE_SEPARATOR);
         }
 
         sbuf.append("<td title=\"Message\">");
         sbuf.append(Transform.escapeHtmlTags(event.getMessage().getFormattedMessage()).replaceAll(REGEXP, "<br />"));
-        sbuf.append("</td>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("</tr>").append(Constants.LINE_SEPARATOR);
+        sbuf.append("</td>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("</tr>").append(Strings.LINE_SEPARATOR);
 
         if (event.getContextStack() != null && !event.getContextStack().isEmpty()) {
             sbuf.append("<tr><td bgcolor=\"#EEEEEE\" style=\"font-size : ").append(fontSize);
             sbuf.append(";\" colspan=\"6\" ");
             sbuf.append("title=\"Nested Diagnostic Context\">");
             sbuf.append("NDC: ").append(Transform.escapeHtmlTags(event.getContextStack().toString()));
-            sbuf.append("</td></tr>").append(Constants.LINE_SEPARATOR);
+            sbuf.append("</td></tr>").append(Strings.LINE_SEPARATOR);
         }
 
         if (event.getContextMap() != null && !event.getContextMap().isEmpty()) {
@@ -201,7 +201,7 @@ public final class HtmlLayout extends AbstractStringLayout {
             sbuf.append(";\" colspan=\"6\" ");
             sbuf.append("title=\"Mapped Diagnostic Context\">");
             sbuf.append("MDC: ").append(Transform.escapeHtmlTags(event.getContextMap().toString()));
-            sbuf.append("</td></tr>").append(Constants.LINE_SEPARATOR);
+            sbuf.append("</td></tr>").append(Strings.LINE_SEPARATOR);
         }
 
         final Throwable throwable = event.getThrown();
@@ -209,7 +209,7 @@ public final class HtmlLayout extends AbstractStringLayout {
             sbuf.append("<tr><td bgcolor=\"#993300\" style=\"color:White; font-size : ").append(fontSize);
             sbuf.append(";\" colspan=\"6\">");
             appendThrowableAsHtml(throwable, sbuf);
-            sbuf.append("</td></tr>").append(Constants.LINE_SEPARATOR);
+            sbuf.append("</td></tr>").append(Strings.LINE_SEPARATOR);
         }
 
         return sbuf.toString();
@@ -254,7 +254,7 @@ public final class HtmlLayout extends AbstractStringLayout {
                 first = false;
             }
             sbuf.append(Transform.escapeHtmlTags(line));
-            sbuf.append(Constants.LINE_SEPARATOR);
+            sbuf.append(Strings.LINE_SEPARATOR);
         }
     }
 
@@ -267,36 +267,36 @@ public final class HtmlLayout extends AbstractStringLayout {
         final StringBuilder sbuf = new StringBuilder();
         sbuf.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" ");
         sbuf.append("\"http://www.w3.org/TR/html4/loose.dtd\">");
-        sbuf.append(Constants.LINE_SEPARATOR);
-        sbuf.append("<html>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<head>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<meta charset=\"").append(getCharset()).append("\"/>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<title>").append(title).append("</title>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<style type=\"text/css\">").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<!--").append(Constants.LINE_SEPARATOR);
+        sbuf.append(Strings.LINE_SEPARATOR);
+        sbuf.append("<html>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<head>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<meta charset=\"").append(getCharset()).append("\"/>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<title>").append(title).append("</title>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<style type=\"text/css\">").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<!--").append(Strings.LINE_SEPARATOR);
         sbuf.append("body, table {font-family:").append(font).append("; font-size: ");
-        sbuf.append(headerSize).append(";}").append(Constants.LINE_SEPARATOR);
-        sbuf.append("th {background: #336699; color: #FFFFFF; text-align: left;}").append(Constants.LINE_SEPARATOR);
-        sbuf.append("-->").append(Constants.LINE_SEPARATOR);
-        sbuf.append("</style>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("</head>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<body bgcolor=\"#FFFFFF\" topmargin=\"6\" leftmargin=\"6\">").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<hr size=\"1\" noshade=\"noshade\">").append(Constants.LINE_SEPARATOR);
-        sbuf.append("Log session start time " + new java.util.Date() + "<br>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<br>").append(Constants.LINE_SEPARATOR);
+        sbuf.append(headerSize).append(";}").append(Strings.LINE_SEPARATOR);
+        sbuf.append("th {background: #336699; color: #FFFFFF; text-align: left;}").append(Strings.LINE_SEPARATOR);
+        sbuf.append("-->").append(Strings.LINE_SEPARATOR);
+        sbuf.append("</style>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("</head>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<body bgcolor=\"#FFFFFF\" topmargin=\"6\" leftmargin=\"6\">").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<hr size=\"1\" noshade=\"noshade\">").append(Strings.LINE_SEPARATOR);
+        sbuf.append("Log session start time " + new java.util.Date() + "<br>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<br>").append(Strings.LINE_SEPARATOR);
         sbuf.append(
             "<table cellspacing=\"0\" cellpadding=\"4\" border=\"1\" bordercolor=\"#224466\" width=\"100%\">");
-        sbuf.append(Constants.LINE_SEPARATOR);
-        sbuf.append("<tr>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<th>Time</th>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<th>Thread</th>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<th>Level</th>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<th>Logger</th>").append(Constants.LINE_SEPARATOR);
+        sbuf.append(Strings.LINE_SEPARATOR);
+        sbuf.append("<tr>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<th>Time</th>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<th>Thread</th>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<th>Level</th>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<th>Logger</th>").append(Strings.LINE_SEPARATOR);
         if (locationInfo) {
-            sbuf.append("<th>File:Line</th>").append(Constants.LINE_SEPARATOR);
+            sbuf.append("<th>File:Line</th>").append(Strings.LINE_SEPARATOR);
         }
-        sbuf.append("<th>Message</th>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("</tr>").append(Constants.LINE_SEPARATOR);
+        sbuf.append("<th>Message</th>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("</tr>").append(Strings.LINE_SEPARATOR);
         return sbuf.toString().getBytes(getCharset());
     }
 
@@ -307,8 +307,8 @@ public final class HtmlLayout extends AbstractStringLayout {
     @Override
     public byte[] getFooter() {
         final StringBuilder sbuf = new StringBuilder();
-        sbuf.append("</table>").append(Constants.LINE_SEPARATOR);
-        sbuf.append("<br>").append(Constants.LINE_SEPARATOR);
+        sbuf.append("</table>").append(Strings.LINE_SEPARATOR);
+        sbuf.append("<br>").append(Strings.LINE_SEPARATOR);
         sbuf.append("</body></html>");
         return getBytes(sbuf.toString());
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java
index 20fd733..229490b 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java
@@ -19,7 +19,7 @@ package org.apache.logging.log4j.core.pattern;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.config.plugins.Plugin;
 import org.apache.logging.log4j.core.impl.ThrowableProxy;
-import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.util.Strings;
 
 /**
  * Outputs the Throwable portion of the LoggingEvent as a full stack trace
@@ -70,9 +70,9 @@ public final class ExtendedThrowablePatternConverter extends ThrowablePatternCon
             if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 1))) {
                 toAppendTo.append(' ');
             }
-            if (!options.allLines() || !Constants.LINE_SEPARATOR.equals(options.getSeparator())) {
+            if (!options.allLines() || !Strings.LINE_SEPARATOR.equals(options.getSeparator())) {
                 final StringBuilder sb = new StringBuilder();
-                final String[] array = extStackTrace.split(Constants.LINE_SEPARATOR);
+                final String[] array = extStackTrace.split(Strings.LINE_SEPARATOR);
                 final int limit = options.minLines(array.length) - 1;
                 for (int i = 0; i <= limit; ++i) {
                     sb.append(array[i]);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineSeparatorPatternConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineSeparatorPatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineSeparatorPatternConverter.java
index 6d41bf9..47c3f5a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineSeparatorPatternConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineSeparatorPatternConverter.java
@@ -18,7 +18,7 @@ package org.apache.logging.log4j.core.pattern;
 
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.config.plugins.Plugin;
-import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.util.Strings;
 
 /**
  * Formats a line separator.
@@ -42,7 +42,7 @@ public final class LineSeparatorPatternConverter extends LogEventPatternConverte
      */
     private LineSeparatorPatternConverter() {
         super("Line Sep", "lineSep");
-        lineSep = Constants.LINE_SEPARATOR;
+        lineSep = Strings.LINE_SEPARATOR;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java
index b9f0b7a..56389a6 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java
@@ -19,7 +19,7 @@ package org.apache.logging.log4j.core.pattern;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.config.plugins.Plugin;
 import org.apache.logging.log4j.core.impl.ThrowableProxy;
-import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.util.Strings;
 
 /**
  * Outputs the Throwable portion of the LoggingEvent as a full stack trace
@@ -70,9 +70,9 @@ public final class RootThrowablePatternConverter extends ThrowablePatternConvert
             if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 1))) {
                 toAppendTo.append(' ');
             }
-            if (!options.allLines() || !Constants.LINE_SEPARATOR.equals(options.getSeparator())) {
+            if (!options.allLines() || !Strings.LINE_SEPARATOR.equals(options.getSeparator())) {
                 final StringBuilder sb = new StringBuilder();
-                final String[] array = trace.split(Constants.LINE_SEPARATOR);
+                final String[] array = trace.split(Strings.LINE_SEPARATOR);
                 final int limit = options.minLines(array.length) - 1;
                 for (int i = 0; i <= limit; ++i) {
                     sb.append(array[i]);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
index a651ae6..a746130 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java
@@ -22,7 +22,6 @@ import java.io.StringWriter;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.config.plugins.Plugin;
 import org.apache.logging.log4j.core.impl.ThrowableFormatOptions;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.util.Strings;
 
 
@@ -141,9 +140,9 @@ public class ThrowablePatternConverter extends LogEventPatternConverter {
         if (len > 0 && !Character.isWhitespace(buffer.charAt(len - 1))) {
             buffer.append(' ');
         }
-        if (!options.allLines() || !Constants.LINE_SEPARATOR.equals(options.getSeparator())) {
+        if (!options.allLines() || !Strings.LINE_SEPARATOR.equals(options.getSeparator())) {
             final StringBuilder sb = new StringBuilder();
-            final String[] array = w.toString().split(Constants.LINE_SEPARATOR);
+            final String[] array = w.toString().split(Strings.LINE_SEPARATOR);
             final int limit = options.minLines(array.length) - 1;
             for (int i = 0; i <= limit; ++i) {
                 sb.append(array[i]);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java
index b1ca676..50feef1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/tools/Generate.java
@@ -22,6 +22,8 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.logging.log4j.util.Strings;
+
 /**
  * Generates source code for custom or extended logger wrappers.
  * <p>
@@ -1094,7 +1096,8 @@ public final class Generate {
             sb.append(String.format(phase2, ""));
         }
 
-        sb.append(String.format("}%n", "")); // yes, does not use args to apply %n
+        sb.append('}');
+        sb.append(Strings.LINE_SEPARATOR);
         return sb.toString();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
index 0b841eb..aa8b74d 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
@@ -44,12 +44,6 @@ public final class Constants {
     public static final String JNDI_CONTEXT_NAME = "java:comp/env/log4j/context-name";
 
     /**
-     * Line separator.
-     */
-    public static final String LINE_SEPARATOR = PropertiesUtil.getProperties().getStringProperty("line.separator",
-            "\n");
-
-    /**
      * Number of milliseconds in a second.
      */
     public static final int MILLIS_IN_SECONDS = 1000;

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/GcFreeLoggingTestUtil.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/GcFreeLoggingTestUtil.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/GcFreeLoggingTestUtil.java
index 1d57c2d..aa6801a 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/GcFreeLoggingTestUtil.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/GcFreeLoggingTestUtil.java
@@ -16,6 +16,10 @@
  */
 package org.apache.logging.log4j.core;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import java.io.File;
 import java.net.URL;
 import java.nio.charset.Charset;
@@ -23,14 +27,15 @@ import java.nio.file.Files;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.MarkerManager;
+import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.util.Strings;
 
 import com.google.monitoring.runtime.instrumentation.AllocationRecorder;
 import com.google.monitoring.runtime.instrumentation.Sampler;
 
-import static org.junit.Assert.*;
-
 /**
  * Utily methods for the GC-free logging tests.s.
  */
@@ -135,10 +140,9 @@ public class GcFreeLoggingTestUtil {
         assertEquals(text, "FATAL o.a.l.l.c." + className + " [main] value1 {aKey=value1, key2=value2, prop1=value1, prop2=value2} This message is logged to the console",
                 lines.get(0));
 
-        final String LINESEP = System.getProperty("line.separator");
         for (int i = 1; i < lines.size(); i++) {
             final String line = lines.get(i);
-            assertFalse(i + ": " + line + LINESEP + text, line.contains("allocated") || line.contains("array"));
+            assertFalse(i + ": " + line + Strings.LINE_SEPARATOR + text, line.contains("allocated") || line.contains("array"));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/HostNameTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/HostNameTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/HostNameTest.java
index ee56883..9d036ad 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/HostNameTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/HostNameTest.java
@@ -19,10 +19,10 @@ package org.apache.logging.log4j.core;
 import java.util.List;
 
 import org.apache.logging.log4j.core.appender.RollingFileAppender;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.core.util.NetUtils;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Test;
@@ -55,7 +55,7 @@ public class HostNameTest {
         testLogger.debug("Hello, {}", "World");
         final List<String> msgs = host.getMessages();
         assertThat(msgs, hasSize(1));
-        String expected = NetUtils.getLocalHostname() + Constants.LINE_SEPARATOR;
+        String expected = NetUtils.getLocalHostname() + Strings.LINE_SEPARATOR;
         assertThat(msgs.get(0), endsWith(expected));
         assertNotNull("No Host FileAppender file name", hostFile.getFileName());
         expected = "target/" + NetUtils.getLocalHostname() + ".log";

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/PatternSelectorTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/PatternSelectorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/PatternSelectorTest.java
index 572ce4c..c1df3f8 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/PatternSelectorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/PatternSelectorTest.java
@@ -19,9 +19,9 @@ package org.apache.logging.log4j.core;
 import java.util.List;
 
 import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.ClassRule;
 import org.junit.Test;
 
@@ -51,7 +51,7 @@ public class PatternSelectorTest {
         final String expect = String.format("[TRACE] TestMarkerPatternSelector ====== "
                 + "o.a.l.l.c.PatternSelectorTest.testMarkerPatternSelector:43 Enter ======%n");
         assertEquals(expect, messages.get(0));
-        assertEquals("[INFO ] TestMarkerPatternSelector Hello World" + Constants.LINE_SEPARATOR, messages.get(1));
+        assertEquals("[INFO ] TestMarkerPatternSelector Hello World" + Strings.LINE_SEPARATOR, messages.get(1));
         app.clear();
     }
 
@@ -69,12 +69,12 @@ public class PatternSelectorTest {
         assertNotNull("No Messages", messages);
         assertTrue("Incorrect number of messages. Expected 4, Actual " + messages.size() + ": " + messages, messages.size() == 4);
         String expect = "[TRACE] TestScriptPatternSelector ====== " +
-                "o.a.l.l.c.PatternSelectorTest.testScriptPatternSelector:62 Enter ======" + Constants.LINE_SEPARATOR;
+                "o.a.l.l.c.PatternSelectorTest.testScriptPatternSelector:62 Enter ======" + Strings.LINE_SEPARATOR;
         assertEquals(expect, messages.get(0));
         expect = "[INFO ] TestScriptPatternSelector o.a.l.l.c.PatternSelectorTest.testScriptPatternSelector.63 " +
-                "Hello World" + Constants.LINE_SEPARATOR;
+                "Hello World" + Strings.LINE_SEPARATOR;
         assertEquals(expect, messages.get(1));
-        assertEquals("[INFO ] NoLocation No location information" + Constants.LINE_SEPARATOR, messages.get(2));
+        assertEquals("[INFO ] NoLocation No location information" + Strings.LINE_SEPARATOR, messages.get(2));
         app.clear();
     }
 
@@ -92,12 +92,12 @@ public class PatternSelectorTest {
         assertNotNull("No Messages", messages);
         assertTrue("Incorrect number of messages. Expected 4, Actual " + messages.size() + ": " + messages, messages.size() == 4);
         String expect = "[TRACE] TestJavaScriptPatternSelector ====== " +
-                "o.a.l.l.c.PatternSelectorTest.testJavaScriptPatternSelector:85 Enter ======" + Constants.LINE_SEPARATOR;
+                "o.a.l.l.c.PatternSelectorTest.testJavaScriptPatternSelector:85 Enter ======" + Strings.LINE_SEPARATOR;
         assertEquals(expect, messages.get(0));
         expect = "[INFO ] TestJavaScriptPatternSelector " +
-                "o.a.l.l.c.PatternSelectorTest.testJavaScriptPatternSelector.86 Hello World" + Constants.LINE_SEPARATOR;
+                "o.a.l.l.c.PatternSelectorTest.testJavaScriptPatternSelector.86 Hello World" + Strings.LINE_SEPARATOR;
         assertEquals(expect, messages.get(1));
-        assertEquals("[INFO ] JavascriptNoLocation No location information" + Constants.LINE_SEPARATOR, messages.get(2));
+        assertEquals("[INFO ] JavascriptNoLocation No location information" + Strings.LINE_SEPARATOR, messages.get(2));
         app.clear();
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
index 80d024d..87aef83 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
@@ -25,8 +25,8 @@ import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.appender.ConsoleAppender.Target;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
 import org.apache.logging.log4j.core.layout.PatternLayout;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.message.SimpleMessage;
+import org.apache.logging.log4j.util.Strings;
 import org.easymock.EasyMockSupport;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -151,7 +151,7 @@ public class ConsoleAppenderTest {
             }
             final String msg = baos.toString();
             assertNotNull("No message", msg);
-            assertTrue("Incorrect message: \"" + msg + "\"", msg.endsWith("Test" + Constants.LINE_SEPARATOR));
+            assertTrue("Incorrect message: \"" + msg + "\"", msg.endsWith("Test" + Strings.LINE_SEPARATOR));
         } finally {
             app.stop();
         }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
index d9446b7..75d4929 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
@@ -21,9 +21,9 @@ import org.apache.logging.log4j.core.Layout;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
 import org.apache.logging.log4j.core.layout.PatternLayout;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.message.SimpleMessage;
 import org.apache.logging.log4j.test.appender.InMemoryAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
@@ -74,7 +74,7 @@ public class InMemoryAppenderTest {
         final String msg = app.toString();
         assertNotNull("No message", msg);
         final String expectedHeader = header == null ? "" : header;
-        final String expected = expectedHeader + "Test" + Constants.LINE_SEPARATOR + "Test" + Constants.LINE_SEPARATOR;
+        final String expected = expectedHeader + "Test" + Strings.LINE_SEPARATOR + "Test" + Strings.LINE_SEPARATOR;
         assertTrue("Incorrect message: " + msg, msg.equals(expected));
         app.stop();
         assertFalse("Appender did not stop", app.isStarted());

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptionsTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptionsTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptionsTest.java
index fe1dc5e..091322b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptionsTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableFormatOptionsTest.java
@@ -25,7 +25,6 @@ import java.util.Map;
 
 import org.apache.logging.log4j.core.pattern.JAnsiTextRenderer;
 import org.apache.logging.log4j.core.pattern.TextRenderer;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.util.Strings;
 import org.fusesource.jansi.AnsiRenderer.Code;
 import org.junit.Assert;
@@ -68,7 +67,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testNull() {
-        test(null, Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+        test(null, Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -76,7 +75,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testEmpty() {
-        test(new String[] {}, Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+        test(new String[] {}, Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -84,7 +83,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testOneNullElement() {
-        test(new String[] { null }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+        test(new String[] { null }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -92,7 +91,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testOneEmptyElement() {
-        test(new String[] { "" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+        test(new String[] { "" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -100,7 +99,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testFull() {
-        test(new String[] { "full" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+        test(new String[] { "full" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -109,7 +108,7 @@ public final class ThrowableFormatOptionsTest {
     @Test
     public void testFullAnsi() {
         final ThrowableFormatOptions tfo = test(new String[] { "full", "ansi" },
-                Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+                Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
         testFullAnsiEmptyConfig(tfo);
     }
 
@@ -119,7 +118,7 @@ public final class ThrowableFormatOptionsTest {
     @Test
     public void testFullAnsiEmptyConfig() {
         final ThrowableFormatOptions tfo = test(new String[] { "full", "ansi()" },
-                Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+                Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
         testFullAnsiEmptyConfig(tfo);
     }
 
@@ -140,7 +139,7 @@ public final class ThrowableFormatOptionsTest {
     @Test
     public void testFullAnsiWithCustomStyle() {
         final ThrowableFormatOptions tfo = test(new String[] { "full", "ansi(Warning=red)" },
-                Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+                Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
         final TextRenderer textRenderer = tfo.getTextRenderer();
         Assert.assertNotNull(textRenderer);
         Assert.assertTrue(textRenderer instanceof JAnsiTextRenderer);
@@ -155,7 +154,7 @@ public final class ThrowableFormatOptionsTest {
     @Test
     public void testFullAnsiWithCustomStyles() {
         final ThrowableFormatOptions tfo = test(new String[] { "full", "ansi(Warning=red Key=blue Value=cyan)" },
-                Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+                Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
         final TextRenderer textRenderer = tfo.getTextRenderer();
         Assert.assertNotNull(textRenderer);
         Assert.assertTrue(textRenderer instanceof JAnsiTextRenderer);
@@ -173,7 +172,7 @@ public final class ThrowableFormatOptionsTest {
     public void testFullAnsiWithCustomComplexStyles() {
         final ThrowableFormatOptions tfo = test(
                 new String[] { "full", "ansi(Warning=red Key=blue,bg_red Value=cyan,bg_black,underline)" }, Integer.MAX_VALUE,
-                Constants.LINE_SEPARATOR, null);
+                Strings.LINE_SEPARATOR, null);
         final TextRenderer textRenderer = tfo.getTextRenderer();
         Assert.assertNotNull(textRenderer);
         Assert.assertTrue(textRenderer instanceof JAnsiTextRenderer);
@@ -189,7 +188,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testNone() {
-        test(new String[] { "none" }, 0, Constants.LINE_SEPARATOR, null);
+        test(new String[] { "none" }, 0, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -197,7 +196,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testShort() {
-        test(new String[] { "short" }, 2, Constants.LINE_SEPARATOR, null);
+        test(new String[] { "short" }, 2, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -205,7 +204,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testDepth() {
-        test(new String[] { "10" }, 10, Constants.LINE_SEPARATOR, null);
+        test(new String[] { "10" }, 10, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -229,8 +228,8 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSeparatorAsDefaultLineSeparator() {
-        test(new String[] { "separator(" + Constants.LINE_SEPARATOR + ')' }, Integer.MAX_VALUE,
-                Constants.LINE_SEPARATOR, null);
+        test(new String[] { "separator(" + Strings.LINE_SEPARATOR + ')' }, Integer.MAX_VALUE,
+                Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -278,7 +277,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testFilters() {
-        test(new String[] { "filters(packages)" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR,
+        test(new String[] { "filters(packages)" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR,
                 Arrays.asList("packages"));
     }
 
@@ -287,7 +286,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testFiltersAsEmpty() {
-        test(new String[] { "filters()" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR, null);
+        test(new String[] { "filters()" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR, null);
     }
 
     /**
@@ -295,7 +294,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testFiltersAsMultiplePackages() {
-        test(new String[] { "filters(package1,package2)" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR,
+        test(new String[] { "filters(package1,package2)" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR,
                 Arrays.asList("package1", "package2"));
     }
 
@@ -304,7 +303,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testFullAndFilters() {
-        test(new String[] { "full", "filters(packages)" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR,
+        test(new String[] { "full", "filters(packages)" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR,
                 Arrays.asList("packages"));
     }
 
@@ -313,7 +312,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testNoneAndFilters() {
-        test(new String[] { "none", "filters(packages)" }, 0, Constants.LINE_SEPARATOR, Arrays.asList("packages"));
+        test(new String[] { "none", "filters(packages)" }, 0, Strings.LINE_SEPARATOR, Arrays.asList("packages"));
     }
 
     /**
@@ -321,7 +320,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testShortAndFilters() {
-        test(new String[] { "short", "filters(packages)" }, 2, Constants.LINE_SEPARATOR, Arrays.asList("packages"));
+        test(new String[] { "short", "filters(packages)" }, 2, Strings.LINE_SEPARATOR, Arrays.asList("packages"));
     }
 
     /**
@@ -329,7 +328,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testDepthAndFilters() {
-        test(new String[] { "10", "filters(packages)" }, 10, Constants.LINE_SEPARATOR, Arrays.asList("packages"));
+        test(new String[] { "10", "filters(packages)" }, 10, Strings.LINE_SEPARATOR, Arrays.asList("packages"));
     }
 
     /**
@@ -370,7 +369,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionFullAndFilters() {
-        test(new String[] { "full,filters(packages)" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR,
+        test(new String[] { "full,filters(packages)" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR,
                 Arrays.asList("packages"));
     }
 
@@ -379,7 +378,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionNoneAndFilters() {
-        test(new String[] { "none,filters(packages)" }, 0, Constants.LINE_SEPARATOR, Arrays.asList("packages"));
+        test(new String[] { "none,filters(packages)" }, 0, Strings.LINE_SEPARATOR, Arrays.asList("packages"));
     }
 
     /**
@@ -387,7 +386,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionShortAndFilters() {
-        test(new String[] { "short,filters(packages)" }, 2, Constants.LINE_SEPARATOR, Arrays.asList("packages"));
+        test(new String[] { "short,filters(packages)" }, 2, Strings.LINE_SEPARATOR, Arrays.asList("packages"));
     }
 
     /**
@@ -395,7 +394,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionDepthAndFilters() {
-        test(new String[] { "10,filters(packages)" }, 10, Constants.LINE_SEPARATOR, Arrays.asList("packages"));
+        test(new String[] { "10,filters(packages)" }, 10, Strings.LINE_SEPARATOR, Arrays.asList("packages"));
     }
 
     /**
@@ -403,7 +402,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionFullAndMultipleFilters() {
-        test(new String[] { "full,filters(package1,package2)" }, Integer.MAX_VALUE, Constants.LINE_SEPARATOR,
+        test(new String[] { "full,filters(package1,package2)" }, Integer.MAX_VALUE, Strings.LINE_SEPARATOR,
                 Arrays.asList("package1", "package2"));
     }
 
@@ -412,7 +411,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionNoneAndMultipleFilters() {
-        test(new String[] { "none,filters(package1,package2)" }, 0, Constants.LINE_SEPARATOR,
+        test(new String[] { "none,filters(package1,package2)" }, 0, Strings.LINE_SEPARATOR,
                 Arrays.asList("package1", "package2"));
     }
 
@@ -421,7 +420,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionShortAndMultipleFilters() {
-        test(new String[] { "short,filters(package1,package2)" }, 2, Constants.LINE_SEPARATOR,
+        test(new String[] { "short,filters(package1,package2)" }, 2, Strings.LINE_SEPARATOR,
                 Arrays.asList("package1", "package2"));
     }
 
@@ -430,7 +429,7 @@ public final class ThrowableFormatOptionsTest {
      */
     @Test
     public void testSingleOptionDepthAndMultipleFilters() {
-        test(new String[] { "10,filters(package1,package2)" }, 10, Constants.LINE_SEPARATOR,
+        test(new String[] { "10,filters(package1,package2)" }, 10, Strings.LINE_SEPARATOR,
                 Arrays.asList("package1", "package2"));
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/net/SocketReconnectTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/SocketReconnectTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/SocketReconnectTest.java
index e586f7b..151d444 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/SocketReconnectTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/SocketReconnectTest.java
@@ -25,9 +25,9 @@ import java.util.List;
 
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.core.appender.AppenderLoggingException;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.test.AvailablePortFinder;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.ClassRule;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -40,11 +40,11 @@ public class SocketReconnectTest {
 
     private static final String CONFIG = "log4j-socket.xml";
 
-    private static final String SHUTDOWN = "Shutdown" + Constants.LINE_SEPARATOR +
-        "................................................................" + Constants.LINE_SEPARATOR +
-        "................................................................" + Constants.LINE_SEPARATOR +
-        "................................................................" + Constants.LINE_SEPARATOR +
-        "................................................................" + Constants.LINE_SEPARATOR;
+    private static final String SHUTDOWN = "Shutdown" + Strings.LINE_SEPARATOR +
+        "................................................................" + Strings.LINE_SEPARATOR +
+        "................................................................" + Strings.LINE_SEPARATOR +
+        "................................................................" + Strings.LINE_SEPARATOR +
+        "................................................................" + Strings.LINE_SEPARATOR;
 
     @ClassRule
     public static LoggerContextRule context = new LoggerContextRule(CONFIG);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageJansiConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageJansiConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageJansiConverterTest.java
index ec3603c..0134dac 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageJansiConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageJansiConverterTest.java
@@ -19,9 +19,9 @@ package org.apache.logging.log4j.core.pattern;
 import java.util.List;
 
 import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -34,7 +34,7 @@ import static org.junit.Assert.*;
 public class MessageJansiConverterTest {
 
     private static final String EXPECTED = "\u001B[31;1mWarning!\u001B[m Pants on \u001B[31mfire!\u001B[m"
-            + Constants.LINE_SEPARATOR;
+            + Strings.LINE_SEPARATOR;
 
     @Rule
     public LoggerContextRule init = new LoggerContextRule("log4j-message-ansi.xml");

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageStyledConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageStyledConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageStyledConverterTest.java
index ec5ad20..ade4432 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageStyledConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessageStyledConverterTest.java
@@ -19,9 +19,9 @@ package org.apache.logging.log4j.core.pattern;
 import java.util.List;
 
 import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -34,7 +34,7 @@ import static org.junit.Assert.*;
 public class MessageStyledConverterTest {
 
     private static final String EXPECTED = "\u001B[31;1mWarning!\u001B[m Pants on \u001B[31;1mfire!\u001B[m"
-            + Constants.LINE_SEPARATOR;
+            + Strings.LINE_SEPARATOR;
 
     @Rule
     public LoggerContextRule init = new LoggerContextRule("log4j-message-styled.xml");

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NoConsoleNoAnsiTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NoConsoleNoAnsiTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NoConsoleNoAnsiTest.java
index 394fd70..cc9ac03 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NoConsoleNoAnsiTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/NoConsoleNoAnsiTest.java
@@ -19,9 +19,9 @@ package org.apache.logging.log4j.core.pattern;
 import java.util.List;
 
 import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -34,7 +34,7 @@ public class NoConsoleNoAnsiTest {
 
     private static final String EXPECTED =
             "ERROR LoggerTest o.a.l.l.c.p.NoConsoleNoAnsiTest org.apache.logging.log4j.core.pattern.NoConsoleNoAnsiTest"
-            + Constants.LINE_SEPARATOR;
+            + Strings.LINE_SEPARATOR;
 
     @Rule
     public LoggerContextRule init = new LoggerContextRule("log4j2-console-noConsoleNoAnsi.xml");

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
index 4e1050d..1e4cd92 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/PatternParserTest.java
@@ -29,10 +29,10 @@ import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.NullConfiguration;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.core.util.DummyNanoClock;
 import org.apache.logging.log4j.core.util.SystemNanoClock;
 import org.apache.logging.log4j.message.SimpleMessage;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -114,7 +114,7 @@ public class PatternParserTest {
             formatter.format(event, buf);
         }
         final String str = buf.toString();
-        final String expected = "INFO  [PatternParserTest        :100 ] - Hello, world" + Constants.LINE_SEPARATOR;
+        final String expected = "INFO  [PatternParserTest        :100 ] - Hello, world" + Strings.LINE_SEPARATOR;
         assertTrue("Expected to end with: " + expected + ". Actual: " + str, str.endsWith(expected));
     }
 
@@ -135,7 +135,7 @@ public class PatternParserTest {
             formatter.format(event, buf);
         }
         final String str = buf.toString();
-        final String expected = "INFO  rTest Hello, world" + Constants.LINE_SEPARATOR;
+        final String expected = "INFO  rTest Hello, world" + Strings.LINE_SEPARATOR;
         assertTrue("Expected to end with: " + expected + ". Actual: " + str, str.endsWith(expected));
     }
 
@@ -156,7 +156,7 @@ public class PatternParserTest {
             formatter.format(event, buf);
         }
         final String str = buf.toString();
-        final String expected = "INFO  org.a Hello, world" + Constants.LINE_SEPARATOR;
+        final String expected = "INFO  org.a Hello, world" + Strings.LINE_SEPARATOR;
         assertTrue("Expected to end with: " + expected + ". Actual: " + str, str.endsWith(expected));
     }
 
@@ -222,7 +222,7 @@ public class PatternParserTest {
             formatter.format(event, buf);
         }
         final String str = buf.toString();
-        final String expectedEnd = String.format("] %-5s: Hello, world%s\u001B[m", level, Constants.LINE_SEPARATOR);
+        final String expectedEnd = String.format("] %-5s: Hello, world%s\u001B[m", level, Strings.LINE_SEPARATOR);
         assertTrue("Expected to start with: " + expectedStart + ". Actual: " + str, str.startsWith(expectedStart));
         assertTrue("Expected to end with: \"" + expectedEnd + "\". Actual: \"" + str, str.endsWith(expectedEnd));
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
index aa7fe1a..bf09eb4 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest.java
@@ -21,8 +21,8 @@ import org.apache.logging.log4j.ThreadContext;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.message.SimpleMessage;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
@@ -49,6 +49,6 @@ public class RegexReplacementConverterTest {
             options);
         converter.format(event, sb);
         assertEquals("org/apache/logging/log4j/core/pattern/RegexReplacementConverterTest This is a test" +
-            Constants.LINE_SEPARATOR, sb.toString());
+            Strings.LINE_SEPARATOR, sb.toString());
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
index 8d68d5c..f357111 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
@@ -23,10 +23,10 @@ import static org.junit.Assert.assertTrue;
 import java.util.List;
 
 import org.apache.logging.log4j.ThreadContext;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.junit.ThreadContextMapRule;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Rule;
@@ -40,7 +40,7 @@ public class RegexReplacementTest {
     private static ListAppender app;
     private static ListAppender app2;
 
-    private static final String EXPECTED = "/RegexReplacementTest" + Constants.LINE_SEPARATOR;
+    private static final String EXPECTED = "/RegexReplacementTest" + Strings.LINE_SEPARATOR;
 
     @ClassRule
     public static LoggerContextRule context = new LoggerContextRule(CONFIG);
@@ -71,7 +71,7 @@ public class RegexReplacementTest {
         msgs = app.getMessages();
         assertNotNull(msgs);
         assertEquals("Incorrect number of messages. Should be 1 is " + msgs.size(), 1, msgs.size());
-        assertEquals("LoggerTest This is a test for Apache" + Constants.LINE_SEPARATOR, msgs.get(0));
+        assertEquals("LoggerTest This is a test for Apache" + Strings.LINE_SEPARATOR, msgs.get(0));
     }
      @Test
     public void testConverter() {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/StyleConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/StyleConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/StyleConverterTest.java
index 9672367..42d20a0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/StyleConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/StyleConverterTest.java
@@ -19,9 +19,9 @@ package org.apache.logging.log4j.core.pattern;
 import java.util.List;
 
 import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.junit.LoggerContextRule;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -35,7 +35,7 @@ public class StyleConverterTest {
 
     private static final String EXPECTED =
         "\u001B[1;31mERROR\u001B[m \u001B[1;36mLoggerTest\u001B[m o.a.l.l.c.p.StyleConverterTest org.apache.logging.log4j.core.pattern.StyleConverterTest"
-        + Constants.LINE_SEPARATOR;
+        + Strings.LINE_SEPARATOR;
 
     @Rule
     public LoggerContextRule init = new LoggerContextRule("log4j-style.xml");

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-core/src/test/java/org/apache/logging/log4j/test/layout/BasicLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/layout/BasicLayout.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/layout/BasicLayout.java
index 4bda27e..bc20a7e 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/layout/BasicLayout.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/layout/BasicLayout.java
@@ -23,7 +23,7 @@ import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.config.plugins.Plugin;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 import org.apache.logging.log4j.core.layout.AbstractStringLayout;
-import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.util.Strings;
 
 /**
  *
@@ -31,7 +31,7 @@ import org.apache.logging.log4j.core.util.Constants;
 @Plugin(name = "BasicLayout", category = "Core", elementType = "layout", printObject = true)
 public class BasicLayout extends AbstractStringLayout {
 
-    private static final String HEADER = "Header" + Constants.LINE_SEPARATOR;
+    private static final String HEADER = "Header" + Strings.LINE_SEPARATOR;
 
     public BasicLayout(final Charset charset) {
         super(charset);
@@ -44,7 +44,7 @@ public class BasicLayout extends AbstractStringLayout {
 
     @Override
     public String toSerializable(final LogEvent event) {
-        return event.getMessage().getFormattedMessage() + Constants.LINE_SEPARATOR;
+        return event.getMessage().getFormattedMessage() + Strings.LINE_SEPARATOR;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-jcl/src/test/java/org/apache/logging/log4j/jcl/LoggerTest.java
----------------------------------------------------------------------
diff --git a/log4j-jcl/src/test/java/org/apache/logging/log4j/jcl/LoggerTest.java b/log4j-jcl/src/test/java/org/apache/logging/log4j/jcl/LoggerTest.java
index 29de211..6cd8dd6 100644
--- a/log4j-jcl/src/test/java/org/apache/logging/log4j/jcl/LoggerTest.java
+++ b/log4j-jcl/src/test/java/org/apache/logging/log4j/jcl/LoggerTest.java
@@ -1,65 +1,65 @@
-/*
- * 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.
- */
-package org.apache.logging.log4j.jcl;
-
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.logging.log4j.core.util.Constants;
-import org.apache.logging.log4j.junit.LoggerContextRule;
-import org.apache.logging.log4j.test.appender.ListAppender;
-import org.junit.ClassRule;
-import org.junit.Test;
-
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.hasSize;
-import static org.junit.Assert.*;
-
-/**
- *
- */
-public class LoggerTest {
-
-    private static final String CONFIG = "log4j-test1.xml";
-
-    @ClassRule
-    public static final LoggerContextRule context = new LoggerContextRule(CONFIG);
-
-    @Test
-    public void testLog() {
-        final Log logger = LogFactory.getLog("LoggerTest");
-        logger.debug("Test message");
-        verify("List", "o.a.l.l.j.LoggerTest Test message MDC{}" + Constants.LINE_SEPARATOR);
-        logger.debug("Exception: " , new NullPointerException("Test"));
-        verify("List", "o.a.l.l.j.LoggerTest Exception:  MDC{}" + Constants.LINE_SEPARATOR);
-        logger.info("Info Message");
-        verify("List", "o.a.l.l.j.LoggerTest Info Message MDC{}" + Constants.LINE_SEPARATOR);
-        logger.info("Info Message {}");
-        verify("List", "o.a.l.l.j.LoggerTest Info Message {} MDC{}" + Constants.LINE_SEPARATOR);
-    }
-
-    private void verify(final String name, final String expected) {
-        final ListAppender listApp = context.getListAppender(name);
-        final List<String> events = listApp.getMessages();
-        assertThat(events, hasSize(1));
-        final String actual = events.get(0);
-        assertThat(actual, equalTo(expected));
-        listApp.clear();
-    }
-
-}
+/*
+ * 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.
+ */
+package org.apache.logging.log4j.jcl;
+
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.hasSize;
+import static org.junit.Assert.*;
+
+/**
+ *
+ */
+public class LoggerTest {
+
+    private static final String CONFIG = "log4j-test1.xml";
+
+    @ClassRule
+    public static final LoggerContextRule context = new LoggerContextRule(CONFIG);
+
+    @Test
+    public void testLog() {
+        final Log logger = LogFactory.getLog("LoggerTest");
+        logger.debug("Test message");
+        verify("List", "o.a.l.l.j.LoggerTest Test message MDC{}" + Strings.LINE_SEPARATOR);
+        logger.debug("Exception: " , new NullPointerException("Test"));
+        verify("List", "o.a.l.l.j.LoggerTest Exception:  MDC{}" + Strings.LINE_SEPARATOR);
+        logger.info("Info Message");
+        verify("List", "o.a.l.l.j.LoggerTest Info Message MDC{}" + Strings.LINE_SEPARATOR);
+        logger.info("Info Message {}");
+        verify("List", "o.a.l.l.j.LoggerTest Info Message {} MDC{}" + Strings.LINE_SEPARATOR);
+    }
+
+    private void verify(final String name, final String expected) {
+        final ListAppender listApp = context.getListAppender(name);
+        final List<String> events = listApp.getMessages();
+        assertThat(events, hasSize(1));
+        final String actual = events.get(0);
+        assertThat(actual, equalTo(expected));
+        listApp.clear();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/732f8ecf/log4j-liquibase/src/test/java/liquibase/ext/logging/log4j2/LoggingTest.java
----------------------------------------------------------------------
diff --git a/log4j-liquibase/src/test/java/liquibase/ext/logging/log4j2/LoggingTest.java b/log4j-liquibase/src/test/java/liquibase/ext/logging/log4j2/LoggingTest.java
index b2917ed..36d011c 100644
--- a/log4j-liquibase/src/test/java/liquibase/ext/logging/log4j2/LoggingTest.java
+++ b/log4j-liquibase/src/test/java/liquibase/ext/logging/log4j2/LoggingTest.java
@@ -24,8 +24,8 @@ import java.util.List;
 
 import liquibase.logging.Logger;
 
-import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.test.appender.ListAppender;
+import org.apache.logging.log4j.util.Strings;
 import org.junit.After;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -46,31 +46,31 @@ public class LoggingTest {
     @Test
     public void debug() {
         logger.debug("Debug message");
-        verify(NAME + " " + getClass().getName() + " DEBUG Debug message" + Constants.LINE_SEPARATOR);
+        verify(NAME + " " + getClass().getName() + " DEBUG Debug message" + Strings.LINE_SEPARATOR);
     }
 
     @Test
     public void info() {
         logger.info("Info message");
-        verify(NAME + " " + getClass().getName() + " INFO Info message" + Constants.LINE_SEPARATOR);
+        verify(NAME + " " + getClass().getName() + " INFO Info message" + Strings.LINE_SEPARATOR);
     }
 
     @Test
     public void warning() {
         logger.warning("Warning message");
-        verify(NAME + " " + getClass().getName() + " WARN Warning message" + Constants.LINE_SEPARATOR);
+        verify(NAME + " " + getClass().getName() + " WARN Warning message" + Strings.LINE_SEPARATOR);
     }
 
     @Test
     public void severe() {
         logger.severe("Severe message");
-        verify(NAME + " " + getClass().getName() + " ERROR Severe message" + Constants.LINE_SEPARATOR);
+        verify(NAME + " " + getClass().getName() + " ERROR Severe message" + Strings.LINE_SEPARATOR);
     }
 
     @Test
     public void severeStacktrace() {
         logger.severe("Severe message with stacktrace", new RuntimeException("thrown error"));
-        verify(NAME + " " + getClass().getName() + " ERROR Severe message with stacktrace" + Constants.LINE_SEPARATOR
+        verify(NAME + " " + getClass().getName() + " ERROR Severe message with stacktrace" + Strings.LINE_SEPARATOR
                 + "java.lang.RuntimeException: thrown error");
     }