You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2017/05/24 19:46:30 UTC

logging-log4j2 git commit: [LOG4J2-1920 ]ScriptEngineManager is not available in Android and causes a NoClassDefFoundError. 'mvn clean install' builds.

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 1dd745ce0 -> 96aeca382


[LOG4J2-1920 ]ScriptEngineManager is not available in Android and causes
a NoClassDefFoundError. 'mvn clean install' builds.

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

Branch: refs/heads/master
Commit: 96aeca3827fbf5c0aa4b64d2b2bf7cd887325fea
Parents: 1dd745c
Author: ggregory <gg...@US-L-GG05.rocketsoftware.com>
Authored: Wed May 24 12:46:20 2017 -0700
Committer: ggregory <gg...@US-L-GG05.rocketsoftware.com>
Committed: Wed May 24 12:46:20 2017 -0700

----------------------------------------------------------------------
 .../log4j/core/config/AbstractConfiguration.java        | 12 +++++++++---
 .../log4j/core/net/ssl/SslConfigurationTest.java        |  7 ++++++-
 src/changes/changes.xml                                 |  3 +++
 3 files changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/96aeca38/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index e5e149e..3c0e810 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -211,7 +211,12 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
     public void initialize() {
         LOGGER.debug("Initializing configuration {}", this);
         subst.setConfiguration(this);
-        scriptManager = new ScriptManager(this, watchManager);
+        try {
+            scriptManager = new ScriptManager(this, watchManager);
+        } catch (final LinkageError | Exception e) {
+            // LOG4J2-1920 ScriptEngineManager is not available in Android
+            LOGGER.info("Cannot initialize scripting support because this JRE does not support it.", e);
+        }
         pluginManager.collectPlugins(pluginPackages);
         final PluginManager levelPlugins = new PluginManager(Level.CATEGORY);
         levelPlugins.collectPlugins(pluginPackages);
@@ -515,8 +520,9 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
                         LOGGER.error("Script reference to {} not added. Scripts definition cannot contain script references",
                                 script.getName());
                     } else {
-                        scriptManager.addScript(script);
-                    }
+                        if (scriptManager != null) {
+                            scriptManager.addScript(script);
+                        }}
                 }
             } else if (child.getName().equalsIgnoreCase("Appenders")) {
                 appenders = child.getObject();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/96aeca38/log4j-core/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationTest.java
index 80e9bd5..10d4e21 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationTest.java
@@ -31,7 +31,12 @@ public class SslConfigurationTest {
     private static final int TLS_TEST_PORT = 443;
 
     @Test
-    public void emptyConfigurationDoesntCauseNullSSLSocketFactory() {
+    public void equals() {
+        Assert.assertEquals(SslConfiguration.createSSLConfiguration(null, null, null), SslConfiguration.createSSLConfiguration(null, null, null));
+    }
+    
+    @Test
+        public void emptyConfigurationDoesntCauseNullSSLSocketFactory() {
         final SslConfiguration sc = SslConfiguration.createSSLConfiguration(null, null, null);
         final SSLSocketFactory factory = sc.getSslSocketFactory();
         Assert.assertNotNull(factory);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/96aeca38/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 063b229..949d717 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -61,6 +61,9 @@
       <action issue="LOG4J2-1885" dev="mattsicker" type="fix">
         Fix documentation about default additivity value for loggers.
       </action>
+      <action issue="LOG4J2-1920" dev="ggregory" type="fix" due-to="Ajitha">
+        ScriptEngineManager is not available in Android and causes a NoClassDefFoundError.
+      </action>
       <action issue="LOG4J2-1851" dev="mikes" type="update">
         Move server components from log4j-core to new log4-server module.
       </action>