[LOG4J2-1300] Make pattern converters and dependencies serializable.

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

Branch: refs/heads/master
Commit: b7f6feaa52ea2cb3226e4f8d145161d3c45c2201
Parents: 9de3140
Author: Matt Sicker <boa...@gmail.com>
Authored: Sun Feb 28 21:25:39 2016 -0600
Committer: Matt Sicker <boa...@gmail.com>
Committed: Sun Feb 28 21:25:39 2016 -0600

----------------------------------------------------------------------
 .../log4j/core/impl/ThrowableFormatOptions.java    |  4 +++-
 .../core/pattern/AbstractPatternConverter.java     |  5 ++++-
 .../core/pattern/AbstractStyleNameConverter.java   | 17 +++++++++++++++++
 .../core/pattern/ClassNamePatternConverter.java    |  1 +
 .../log4j/core/pattern/DatePatternConverter.java   | 16 ++++++++++++++--
 .../core/pattern/EncodingPatternConverter.java     |  1 +
 .../EqualsIgnoreCaseReplacementConverter.java      |  1 +
 .../core/pattern/EqualsReplacementConverter.java   |  1 +
 .../pattern/ExtendedThrowablePatternConverter.java |  1 +
 .../core/pattern/FileDatePatternConverter.java     |  5 ++++-
 .../core/pattern/FileLocationPatternConverter.java |  1 +
 .../logging/log4j/core/pattern/FormattingInfo.java |  6 +++++-
 .../core/pattern/FullLocationPatternConverter.java |  1 +
 .../log4j/core/pattern/HighlightConverter.java     |  1 +
 .../core/pattern/IntegerPatternConverter.java      |  1 +
 .../log4j/core/pattern/LevelPatternConverter.java  |  1 +
 .../core/pattern/LineLocationPatternConverter.java |  1 +
 .../pattern/LineSeparatorPatternConverter.java     |  1 +
 .../core/pattern/LiteralPatternConverter.java      |  1 +
 .../core/pattern/LogEventPatternConverter.java     |  1 +
 .../log4j/core/pattern/LoggerPatternConverter.java |  1 +
 .../log4j/core/pattern/MapPatternConverter.java    |  1 +
 .../log4j/core/pattern/MarkerPatternConverter.java |  1 +
 .../pattern/MarkerSimpleNamePatternConverter.java  |  1 +
 .../log4j/core/pattern/MdcPatternConverter.java    |  1 +
 .../core/pattern/MessagePatternConverter.java      |  2 +-
 .../pattern/MethodLocationPatternConverter.java    |  1 +
 .../log4j/core/pattern/NameAbbreviator.java        | 10 ++++++++--
 .../log4j/core/pattern/NamePatternConverter.java   |  1 +
 .../core/pattern/NanoTimePatternConverter.java     |  1 +
 .../log4j/core/pattern/NdcPatternConverter.java    |  1 +
 .../log4j/core/pattern/PatternFormatter.java       |  6 +++++-
 .../core/pattern/RegexReplacementConverter.java    |  1 +
 .../core/pattern/RelativeTimePatternConverter.java |  1 +
 .../pattern/RootThrowablePatternConverter.java     |  1 +
 .../pattern/SequenceNumberPatternConverter.java    |  1 +
 .../logging/log4j/core/pattern/StyleConverter.java |  1 +
 .../log4j/core/pattern/ThreadPatternConverter.java |  1 +
 .../core/pattern/ThrowablePatternConverter.java    |  1 +
 .../log4j/core/pattern/UuidPatternConverter.java   |  1 +
 .../VariablesNotEmptyReplacementConverter.java     |  1 +
 .../log4j/core/util/datetime/FixedDateFormat.java  |  5 ++++-
 42 files changed, 97 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/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 d5e0285..e6de6b1 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
@@ -16,6 +16,7 @@
  */
 package org.apache.logging.log4j.core.impl;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Scanner;
@@ -27,7 +28,8 @@ import org.apache.logging.log4j.util.Strings;
 /**
  * Contains options which control how a {@link Throwable} pattern is formatted.
  */
-public final class ThrowableFormatOptions {
+public final class ThrowableFormatOptions implements Serializable {
+    private static final long serialVersionUID = 1L;
 
     private static final int DEFAULT_LINES = Integer.MAX_VALUE;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractPatternConverter.java
index 2118bd7..9ca7d83 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractPatternConverter.java
@@ -16,6 +16,8 @@
  */
 package org.apache.logging.log4j.core.pattern;
 
+import java.io.Serializable;
+
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.status.StatusLogger;
 
@@ -27,7 +29,8 @@ import org.apache.logging.log4j.status.StatusLogger;
  * responsible for converting an object in a converter specific manner.
  * </p>
  */
-public abstract class AbstractPatternConverter implements PatternConverter {
+public abstract class AbstractPatternConverter implements PatternConverter, 
Serializable {
+    private static final long serialVersionUID = 1L;
     /**
      * Allow subclasses access to the status logger.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
index c15c9fc..a3eb184 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
@@ -30,6 +30,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout;
  * Style pattern converter. Adds ANSI color styling to the result of the 
enclosed pattern.
  */
 public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverter /*TODO: implements AnsiConverter*/ {
+    private static final long serialVersionUID = 1L;
 
     private final List<PatternFormatter> formatters;
 
@@ -55,6 +56,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(Black.NAME)
     public static final class Black extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** Black */
         protected static final String NAME = "black";
 
@@ -88,6 +91,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(Blue.NAME)
     public static final class Blue extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** Blue */
         protected static final String NAME = "blue";
 
@@ -121,6 +126,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(Cyan.NAME)
     public static final class Cyan extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** Cyan */
         protected static final String NAME = "cyan";
 
@@ -154,6 +161,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(Green.NAME)
     public static final class Green extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** Green */
         protected static final String NAME = "green";
 
@@ -187,6 +196,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(Magenta.NAME)
     public static final class Magenta extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** Magenta */
         protected static final String NAME = "magenta";
 
@@ -220,6 +231,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(Red.NAME)
     public static final class Red extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** Red */
         protected static final String NAME = "red";
 
@@ -253,6 +266,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(White.NAME)
     public static final class White extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** White */
         protected static final String NAME = "white";
 
@@ -286,6 +301,8 @@ public abstract class AbstractStyleNameConverter extends 
LogEventPatternConverte
     @ConverterKeys(Yellow.NAME)
     public static final class Yellow extends AbstractStyleNameConverter {
 
+        private static final long serialVersionUID = 1L;
+
         /** Yellow */
         protected static final String NAME = "yellow";
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ClassNamePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ClassNamePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ClassNamePatternConverter.java
index a2e0f2a..62bdee9 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ClassNamePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ClassNamePatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "ClassNamePatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "C", "class" })
 public final class ClassNamePatternConverter extends NamePatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private static final String NA = "?";
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
index 9fdfcd8..d36146a 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
@@ -16,6 +16,7 @@
  */
 package org.apache.logging.log4j.core.pattern;
 
+import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.Objects;
@@ -35,8 +36,11 @@ import 
org.apache.logging.log4j.core.util.datetime.FixedDateFormat.FixedFormat;
 @Plugin(name = "DatePatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({"d", "date"})
 public final class DatePatternConverter extends LogEventPatternConverter 
implements ArrayPatternConverter {
+    private static final long serialVersionUID = 1L;
+
+    private abstract static class Formatter implements Serializable {
+        private static final long serialVersionUID = 1L;
 
-    private abstract static class Formatter {
         long previousTime; // for ThreadLocal caching mode
 
         abstract String format(long timeMillis);
@@ -49,6 +53,8 @@ public final class DatePatternConverter extends 
LogEventPatternConverter impleme
     }
 
     private static final class PatternFormatter extends Formatter {
+        private static final long serialVersionUID = 1L;
+
         private final FastDateFormat fastDateFormat;
 
         // this field is only used in ThreadLocal caching mode
@@ -79,6 +85,8 @@ public final class DatePatternConverter extends 
LogEventPatternConverter impleme
     }
 
     private static final class FixedFormatter extends Formatter {
+        private static final long serialVersionUID = 1L;
+
         private final FixedDateFormat fixedDateFormat;
 
         // below fields are only used in ThreadLocal caching mode
@@ -109,6 +117,7 @@ public final class DatePatternConverter extends 
LogEventPatternConverter impleme
     }
 
     private static final class UnixFormatter extends Formatter {
+        private static final long serialVersionUID = 1L;
 
         @Override
         String format(final long timeMillis) {
@@ -122,6 +131,7 @@ public final class DatePatternConverter extends 
LogEventPatternConverter impleme
     }
 
     private static final class UnixMillisFormatter extends Formatter {
+        private static final long serialVersionUID = 1L;
 
         @Override
         String format(final long timeMillis) {
@@ -134,7 +144,9 @@ public final class DatePatternConverter extends 
LogEventPatternConverter impleme
         }
     }
 
-    private final class CachedTime {
+    private final class CachedTime implements Serializable {
+        private static final long serialVersionUID = 1L;
+
         public long timestampMillis;
         public String formatted;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
index b437309..86c14f7 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
@@ -29,6 +29,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout;
 @Plugin(name = "encode", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "enc", "encode" })
 public final class EncodingPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private final List<PatternFormatter> formatters;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
index 1265108..4cb319c 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
@@ -29,6 +29,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout;
 @Plugin(name = "equalsIgnoreCase", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "equalsIgnoreCase" })
 public final class EqualsIgnoreCaseReplacementConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Gets an instance of the class.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
index 2534b5d..7b53a4f 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
@@ -29,6 +29,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout;
 @Plugin(name = "equals", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "equals" })
 public final class EqualsReplacementConverter extends LogEventPatternConverter 
{
+    private static final long serialVersionUID = 1L;
 
     /**
      * Gets an instance of the class.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/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 6ed8c22..ba70796 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
@@ -33,6 +33,7 @@ import org.apache.logging.log4j.core.util.Constants;
 @Plugin(name = "ExtendedThrowablePatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "xEx", "xThrowable", "xException" })
 public final class ExtendedThrowablePatternConverter extends 
ThrowablePatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Private constructor.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileDatePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileDatePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileDatePatternConverter.java
index 7a83d78..1f6a083 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileDatePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileDatePatternConverter.java
@@ -16,6 +16,8 @@
  */
 package org.apache.logging.log4j.core.pattern;
 
+import java.io.Serializable;
+
 import org.apache.logging.log4j.core.config.plugins.Plugin;
 
 /**
@@ -25,7 +27,8 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
  */
 @Plugin(name = "FileDatePatternConverter", category = "FileConverter")
 @ConverterKeys({ "d", "date" })
-public final class FileDatePatternConverter {
+public final class FileDatePatternConverter implements Serializable {
+    private static final long serialVersionUID = 1L;
     /**
      * Private constructor.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileLocationPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileLocationPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileLocationPatternConverter.java
index 7fcd33d..52d6e97 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileLocationPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FileLocationPatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "FileLocationPatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "F", "file" })
 public final class FileLocationPatternConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Singleton.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
index 18369db..d8d7bcc 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
@@ -17,10 +17,14 @@
 
 package org.apache.logging.log4j.core.pattern;
 
+import java.io.Serializable;
+
 /**
  * Modifies the output of a pattern converter for a specified minimum and 
maximum width and alignment.
  */
-public final class FormattingInfo {
+public final class FormattingInfo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     /**
      * Array of spaces.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FullLocationPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FullLocationPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FullLocationPatternConverter.java
index 120a671..ed436c2 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FullLocationPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FullLocationPatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "FullLocationPatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "l", "location" })
 public final class FullLocationPatternConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Singleton.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
index 0e2f63d..e36eb3a 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
@@ -69,6 +69,7 @@ import org.apache.logging.log4j.util.Strings;
 @Plugin(name = "highlight", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "highlight" })
 public final class HighlightConverter extends LogEventPatternConverter 
implements AnsiConverter {
+    private static final long serialVersionUID = 1L;
 
     private static final Map<Level, String> DEFAULT_STYLES = new HashMap<>();
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
index 5380d45..0e27896 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
@@ -27,6 +27,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "IntegerPatternConverter", category = "FileConverter")
 @ConverterKeys({ "i", "index" })
 public final class IntegerPatternConverter extends AbstractPatternConverter 
implements ArrayPatternConverter {
+    private static final long serialVersionUID = 1L;
     
     /**
      * Singleton.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
index c044afd..932e37a 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
@@ -31,6 +31,7 @@ import org.apache.logging.log4j.core.util.Patterns;
 @Plugin(name = "LevelPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "p", "level" })
 public final class LevelPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     private static final String OPTION_LENGTH = "length";
     private static final String OPTION_LOWER = "lowerCase";
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineLocationPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineLocationPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineLocationPatternConverter.java
index 2b912d7..8b168dd 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineLocationPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LineLocationPatternConverter.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "LineLocationPatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "L", "line" })
 public final class LineLocationPatternConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Singleton.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/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..6cd26e8 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
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.util.Constants;
 @Plugin(name = "LineSeparatorPatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "n" })
 public final class LineSeparatorPatternConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Singleton.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LiteralPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LiteralPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LiteralPatternConverter.java
index 0751bca..e8a5c80 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LiteralPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LiteralPatternConverter.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.core.util.OptionConverter;
  * Formats a string literal.
  */
 public final class LiteralPatternConverter extends LogEventPatternConverter 
implements ArrayPatternConverter {
+    private static final long serialVersionUID = 1L;
     
     /**
      * String literal.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LogEventPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LogEventPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LogEventPatternConverter.java
index 84cee32..3494187 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LogEventPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LogEventPatternConverter.java
@@ -23,6 +23,7 @@ import org.apache.logging.log4j.core.LogEvent;
  * that can format information from instances of LoggingEvent.
  */
 public abstract class LogEventPatternConverter extends 
AbstractPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Constructs an instance of LoggingEventPatternConverter.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LoggerPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LoggerPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LoggerPatternConverter.java
index 2b5651b..16c4f8d 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LoggerPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LoggerPatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "LoggerPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "c", "logger" })
 public final class LoggerPatternConverter extends NamePatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Singleton.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java
index a91b8dd..9cbb5cb 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java
@@ -33,6 +33,7 @@ import org.apache.logging.log4j.message.MapMessage;
 @Plugin(name = "MapPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "K", "map", "MAP" })
 public final class MapPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Name of property to output.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerPatternConverter.java
index af29f06..6d091e6 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerPatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "MarkerPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "marker" })
 public final class MarkerPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Private constructor.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerSimpleNamePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerSimpleNamePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerSimpleNamePatternConverter.java
index 525641c..3ed6144 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerSimpleNamePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MarkerSimpleNamePatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "MarkerNamePatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "markerSimpleName" })
 public final class MarkerSimpleNamePatternConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Private constructor.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
index 1663923..2a13789 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
@@ -33,6 +33,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "MdcPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "X", "mdc", "MDC" })
 public final class MdcPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Name of property to output.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
index fd389f4..8650de0 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
@@ -21,7 +21,6 @@ import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.plugins.Plugin;
 import org.apache.logging.log4j.message.Message;
 import org.apache.logging.log4j.message.MultiformatMessage;
-import org.apache.logging.log4j.message.ReusableMessage;
 import org.apache.logging.log4j.util.StringBuilderFormattable;
 
 /**
@@ -30,6 +29,7 @@ import org.apache.logging.log4j.util.StringBuilderFormattable;
 @Plugin(name = "MessagePatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "m", "msg", "message" })
 public final class MessagePatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private final String[] formats;
     private final Configuration config;

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MethodLocationPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MethodLocationPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MethodLocationPatternConverter.java
index 457b7a6..339193a 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MethodLocationPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MethodLocationPatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "MethodLocationPatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "M", "method" })
 public final class MethodLocationPatternConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Singleton.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
index e145f81..8411e74 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
@@ -16,6 +16,7 @@
  */
 package org.apache.logging.log4j.core.pattern;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -23,7 +24,8 @@ import java.util.List;
 /**
  * NameAbbreviator generates abbreviated logger and class names.
  */
-public abstract class NameAbbreviator {
+public abstract class NameAbbreviator implements Serializable {
+    private static final long serialVersionUID = 1L;
     /**
      * Default (no abbreviation) abbreviator.
      */
@@ -136,6 +138,7 @@ public abstract class NameAbbreviator {
      * Abbreviator that simply appends full name to buffer.
      */
     private static class NOPAbbreviator extends NameAbbreviator {
+        private static final long serialVersionUID = 1L;
         /**
          * Constructor.
          */
@@ -155,6 +158,7 @@ public abstract class NameAbbreviator {
      * Abbreviator that drops starting path elements.
      */
     private static class MaxElementAbbreviator extends NameAbbreviator {
+        private static final long serialVersionUID = 1L;
         /**
          * Maximum number of path elements to output.
          */
@@ -197,7 +201,8 @@ public abstract class NameAbbreviator {
     /**
      * Fragment of an pattern abbreviator.
      */
-    private static class PatternAbbreviatorFragment {
+    private static class PatternAbbreviatorFragment implements Serializable {
+        private static final long serialVersionUID = 1L;
         /**
          * Count of initial characters of element to output.
          */
@@ -254,6 +259,7 @@ public abstract class NameAbbreviator {
      * Pattern abbreviator.
      */
     private static class PatternAbbreviator extends NameAbbreviator {
+        private static final long serialVersionUID = 1L;
         /**
          * Element abbreviation patterns.
          */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NamePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NamePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NamePatternConverter.java
index b35c787..3f31094 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NamePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NamePatternConverter.java
@@ -21,6 +21,7 @@ package org.apache.logging.log4j.core.pattern;
  * Abstract base class for other pattern converters which can return only 
parts of their name.
  */
 public abstract class NamePatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Abbreviator.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NanoTimePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NanoTimePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NanoTimePatternConverter.java
index 3d11447..146649c 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NanoTimePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NanoTimePatternConverter.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "NanoTimePatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "N", "nano" })
 public final class NanoTimePatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Private constructor.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NdcPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NdcPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NdcPatternConverter.java
index 916f107..4e1da54 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NdcPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NdcPatternConverter.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "NdcPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({"x", "NDC"})
 public final class NdcPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Singleton.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/PatternFormatter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/PatternFormatter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/PatternFormatter.java
index 4bde1e2..fe90d0f 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/PatternFormatter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/PatternFormatter.java
@@ -16,13 +16,17 @@
  */
 package org.apache.logging.log4j.core.pattern;
 
+import java.io.Serializable;
+
 import org.apache.logging.log4j.core.LogEvent;
 
 
 /**
  *
  */
-public class PatternFormatter {
+public class PatternFormatter implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private final LogEventPatternConverter converter;
     private final FormattingInfo field;
     private final boolean skipFormattingInfo;

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverter.java
index f7c4697..8a5e7b6 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacementConverter.java
@@ -30,6 +30,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout;
 @Plugin(name = "replace", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "replace" })
 public final class RegexReplacementConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private final Pattern pattern;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RelativeTimePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RelativeTimePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RelativeTimePatternConverter.java
index 9767be1..bd1eec5 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RelativeTimePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RelativeTimePatternConverter.java
@@ -27,6 +27,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "RelativeTimePatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "r", "relative" })
 public class RelativeTimePatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Cached formatted timestamp.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/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 e3e7d33..699df53 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
@@ -33,6 +33,7 @@ import org.apache.logging.log4j.core.util.Constants;
 @Plugin(name = "RootThrowablePatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "rEx", "rThrowable", "rException" })
 public final class RootThrowablePatternConverter extends 
ThrowablePatternConverter {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Private constructor.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
index 9e14c78..8f162e4 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
@@ -28,6 +28,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "SequenceNumberPatternConverter", category = "Converter")
 @ConverterKeys({ "sn", "sequenceNumber" })
 public final class SequenceNumberPatternConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private static final AtomicLong SEQUENCE = new AtomicLong();
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
index 202d771..4cadbc6 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
@@ -31,6 +31,7 @@ import org.apache.logging.log4j.core.util.Patterns;
 @Plugin(name = "style", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "style" })
 public final class StyleConverter extends LogEventPatternConverter implements 
AnsiConverter {
+    private static final long serialVersionUID = 1L;
 
     private final List<PatternFormatter> patternFormatters;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThreadPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThreadPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThreadPatternConverter.java
index c763e51..6d771c2 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThreadPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/ThreadPatternConverter.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.core.config.plugins.Plugin;
 @Plugin(name = "ThreadPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "t", "thread" })
 public final class ThreadPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
     /**
      * Singleton.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/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..cad5739 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
@@ -34,6 +34,7 @@ import org.apache.logging.log4j.util.Strings;
 @Plugin(name = "ThrowablePatternConverter", category = 
PatternConverter.CATEGORY)
 @ConverterKeys({ "ex", "throwable", "exception" })
 public class ThrowablePatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private String rawOption;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/UuidPatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/UuidPatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/UuidPatternConverter.java
index 439935b..4483765 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/UuidPatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/UuidPatternConverter.java
@@ -28,6 +28,7 @@ import org.apache.logging.log4j.core.util.UuidUtil;
 @Plugin(name = "UuidPatternConverter", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "u", "uuid" })
 public final class UuidPatternConverter extends LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private final boolean isRandom;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
index 9a58f79..a64bdb4 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
@@ -29,6 +29,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout;
 @Plugin(name = "notEmpty", category = PatternConverter.CATEGORY)
 @ConverterKeys({ "notEmpty", "varsNotEmpty", "variablesNotEmpty", })
 public final class VariablesNotEmptyReplacementConverter extends 
LogEventPatternConverter {
+    private static final long serialVersionUID = 1L;
 
     private final List<PatternFormatter> formatters;
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b7f6feaa/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java
index 631d334..ddf34bd 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java
@@ -17,6 +17,7 @@
 
 package org.apache.logging.log4j.core.util.datetime;
 
+import java.io.Serializable;
 import java.util.Calendar;
 import java.util.Objects;
 
@@ -27,7 +28,9 @@ import java.util.Objects;
  * Related benchmarks: 
/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/TimeFormatBenchmark.java
 and
  * 
/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadsafeDateFormatBenchmark.java
  */
-public class FixedDateFormat {
+public class FixedDateFormat implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     /**
      * Enumeration over the supported date/time format patterns.
      * <p>

Reply via email to