Repository: logging-log4j2
Updated Branches:
  refs/heads/master 4c8a94a43 -> d51da0f65


[LOG4J2-1759]: Add TypeConverter for UUID


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

Branch: refs/heads/master
Commit: d51da0f654bff818619c2321a3862f0115619279
Parents: 4c8a94a
Author: Matt Sicker <[email protected]>
Authored: Sat Dec 31 13:58:28 2016 -0600
Committer: Matt Sicker <[email protected]>
Committed: Sat Dec 31 13:58:28 2016 -0600

----------------------------------------------------------------------
 .../core/config/plugins/convert/TypeConverters.java    | 13 +++++++++++++
 .../config/plugins/convert/TypeConvertersTest.java     |  3 +++
 src/changes/changes.xml                                |  3 +++
 3 files changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d51da0f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
index 3d94f40..03ec2ca 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
@@ -30,6 +30,7 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.security.Provider;
 import java.security.Security;
+import java.util.UUID;
 import java.util.regex.Pattern;
 import javax.xml.bind.DatatypeConverter;
 
@@ -357,6 +358,18 @@ public final class TypeConverters {
     }
 
     /**
+     * Converts a {@link String} into a {@link UUID}.
+     * @since 2.8
+     */
+    @Plugin(name = "UUID", category = CATEGORY)
+    public static class UuidConverter implements TypeConverter<UUID> {
+        @Override
+        public UUID convert(final String s) throws Exception {
+            return UUID.fromString(s);
+        }
+    }
+
+    /**
      * Converts a String to a given class if a TypeConverter is available for 
that class. Falls back to the provided
      * default value if the conversion is unsuccessful. However, if the 
default value is <em>also</em> invalid, then
      * {@code null} is returned (along with a nasty status log message).

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d51da0f6/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
index da426a9..0c54345 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
@@ -31,6 +31,7 @@ import java.security.Provider;
 import java.security.Security;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.UUID;
 
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.core.Filter;
@@ -184,6 +185,8 @@ public class TypeConvertersTest {
                 { "127.0.0.1", InetAddress.getByName("127.0.0.1"), null, 
InetAddress.class },
                 // JRE Path
                 { "/path/to/file", Paths.get("/path", "to", "file"), null, 
Path.class },
+                // JRE UUID
+                { "8fd389fb-9154-4096-b52e-435bde4a1835", 
UUID.fromString("8fd389fb-9154-4096-b52e-435bde4a1835"), null, UUID.class },
             }
         );
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d51da0f6/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 367b2ab..02337a6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -216,6 +216,9 @@
       <action issue="LOG4J2-1302" dev="rpopma" type="update">
         The log4j-slf4j-impl module now declares a runtime dependency on 
log4j-core. While not technically required, this makes the log4j-slf4j-impl 
module behave similarly to slf4j-log4j12, and facilitates migration to Log4j 2.
       </action>
+      <action issue="LOG4J2-1759" dev="mattsicker" type="add">
+        Add TypeConverter for java.util.UUID.
+      </action>
       <action issue="LOG4J2-1758" dev="mattsicker" type="add">
         Add TypeConverter for java.nio.file.Path.
       </action>

Reply via email to