Repository: logging-log4j2 Updated Branches: refs/heads/master df1d3544c -> 0bca4ca03
Add primitive types for Class type converter Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/dd657505 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/dd657505 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/dd657505 Branch: refs/heads/master Commit: dd657505cc85a2a1410d1b79e394f716b0c8bdf2 Parents: df1d354 Author: Matt Sicker <[email protected]> Authored: Sat Jan 7 01:48:54 2017 -0600 Committer: Matt Sicker <[email protected]> Committed: Sat Jan 7 01:48:54 2017 -0600 ---------------------------------------------------------------------- .../config/plugins/convert/TypeConverters.java | 24 +++++++++++++++++++- .../plugins/convert/TypeConvertersTest.java | 10 ++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dd657505/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 03ec2ca..4802a33 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 @@ -178,7 +178,29 @@ public final class TypeConverters { public static class ClassConverter implements TypeConverter<Class<?>> { @Override public Class<?> convert(final String s) throws ClassNotFoundException { - return LoaderUtil.loadClass(s); + switch (s.toLowerCase()) { + case "boolean": + return boolean.class; + case "byte": + return byte.class; + case "char": + return char.class; + case "double": + return double.class; + case "float": + return float.class; + case "int": + return int.class; + case "long": + return long.class; + case "short": + return short.class; + case "void": + return void.class; + default: + return LoaderUtil.loadClass(s); + } + } } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dd657505/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 0c54345..35a3855 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 @@ -163,6 +163,16 @@ public class TypeConvertersTest { { "c:/temp", new File("c:/temp"), null, File.class }, // JRE Class { TypeConvertersTest.class.getName(), TypeConvertersTest.class, null, Class.class }, + { "boolean", boolean.class, null, Class.class }, + { "byte", byte.class, null, Class.class }, + { "char", char.class, null, Class.class }, + { "double", double.class, null, Class.class }, + { "float", float.class, null, Class.class }, + { "int", int.class, null, Class.class }, + { "long", long.class, null, Class.class }, + { "short", short.class, null, Class.class }, + { "void", void.class, null, Class.class }, + { "\t", Object.class, Object.class.getName(), Class.class }, { "\n", null, null, Class.class }, // JRE URL { "http://locahost", new URL("http://locahost"), null, URL.class },
