Repository: logging-log4j2 Updated Branches: refs/heads/master 8a74e2288 -> 4c8a94a43
[LOG4J2-1758]: Add TypeConverter for Path Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4c8a94a4 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4c8a94a4 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4c8a94a4 Branch: refs/heads/master Commit: 4c8a94a43053e19136427e5d5ff9d3ad64244f39 Parents: 45961ef Author: Matt Sicker <[email protected]> Authored: Sat Dec 31 13:33:02 2016 -0600 Committer: Matt Sicker <[email protected]> Committed: Sat Dec 31 13:34:54 2016 -0600 ---------------------------------------------------------------------- .../core/config/plugins/convert/TypeConverters.java | 14 ++++++++++++++ .../config/plugins/convert/TypeConvertersTest.java | 9 ++++++++- src/changes/changes.xml | 5 ++++- 3 files changed, 26 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c8a94a4/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 9c28edc..3d94f40 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 @@ -26,6 +26,8 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.Charset; +import java.nio.file.Path; +import java.nio.file.Paths; import java.security.Provider; import java.security.Security; import java.util.regex.Pattern; @@ -277,6 +279,18 @@ public final class TypeConverters { } /** + * Converts a {@link String} into a {@link Path}. + * @since 2.8 + */ + @Plugin(name = "Path", category = CATEGORY) + public static class PathConverter implements TypeConverter<Path> { + @Override + public Path convert(final String s) throws Exception { + return Paths.get(s); + } + } + + /** * Converts a {@link String} into a {@link Pattern}. */ @Plugin(name = "Pattern", category = CATEGORY) http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c8a94a4/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 c51a817..da426a9 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 @@ -20,10 +20,13 @@ package org.apache.logging.log4j.core.config.plugins.convert; import java.io.File; import java.math.BigDecimal; import java.math.BigInteger; +import java.net.InetAddress; import java.net.URI; import java.net.URL; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; +import java.nio.file.Path; +import java.nio.file.Paths; import java.security.Provider; import java.security.Security; import java.util.Arrays; @@ -176,7 +179,11 @@ public class TypeConvertersTest { { Security.getProviders()[0].getName(), Security.getProviders()[0], null, Provider.class }, { "\n", null, null, Provider.class }, // Duration - { "P7DT10H", Duration.parse("P7DT10H"), null, Duration.class }, + { "P7DT10H", Duration.parse("P7DT10H"), null, Duration.class }, + // JRE InetAddress + { "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 }, } ); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c8a94a4/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index eba77b1..367b2ab 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -216,8 +216,11 @@ <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-1758" dev="mattsicker" type="add"> + Add TypeConverter for java.nio.file.Path. + </action> <action issue="LOG4J2-1755" dev="mattsicker" type="add"> - Add converters and validators related to hostnames and ports. + Add TypeConverter and constraint validators for java.net.InetAddress and port numbers. </action> <action issue="LOG4J2-969" dev="ggregory" type="add"> Refactor SyslogAppender so that Layout is a Plugin element.
