This is an automated email from the ASF dual-hosted git repository. rgoers pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 93e66ae7d88e829d0019fde332cf4aca67fb6693 Author: ulrichenslin <[email protected]> AuthorDate: Mon Mar 4 08:25:41 2019 +0200 Use existing JDK version detection that is JEP223 aware. Version testing moved to org.apache.logging.log4j.util.ConstantsTest.testJdkVersionDetection --- .../log4j/core/layout/AbstractStringLayout.java | 15 +------------ .../core/layout/AbstractStringLayoutTest.java | 25 ---------------------- 2 files changed, 1 insertion(+), 39 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java index deea87f..3b9eb61 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java @@ -131,20 +131,7 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> implem // LOG4J2-1151: If the built-in JDK 8 encoders are available we should use them. private static boolean isPreJava8() { - final String version = System.getProperty("java.version"); - final String[] parts = version.split("\\."); - try { - int major = Integer.parseInt(parts[1]); - - final int token = Integer.parseInt(parts[0]); - boolean isJEP223 = token != 1; - if (isJEP223) { - major = token; - } - return major < 8; - } catch (final Exception ex) { - return true; - } + return org.apache.logging.log4j.util.Constants.JAVA_MAJOR_VERSION < 8; } private static int size(final String property, final int defaultValue) { diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java index 9dce991..2b35bac 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java @@ -78,29 +78,4 @@ public class AbstractStringLayoutTest { assertEquals("empty, ready for use", 0, sb3.length()); } - @Test - public void testJdkVersionDetection() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { - - final String currentVersion = System.getProperty("java.version"); - - Properties properties = new Properties(); - properties.put("java.version","1.2.0"); - System.setProperties(properties); - - Method method = AbstractStringLayout.class.getDeclaredMethod("isPreJava8",null); - method.setAccessible(true); - assertTrue ((Boolean) method.invoke("isPreJava8")); - - properties = new Properties(); - properties.put("java.version","9.1.0"); - System.setProperties(properties); - - assertFalse ((Boolean) method.invoke("isPreJava8")); - - //reset the value to the current version - properties = new Properties(); - properties.put("java.version", currentVersion); - System.setProperties(properties); - - } } \ No newline at end of file
