Fix error handling in Log4j 1 configuration

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

Branch: refs/heads/LOG4J2-1553
Commit: 2e2dc8eebf0f0e3e856c7ed856109cc3e7b09736
Parents: b0f568e
Author: Mikael Ståldal <mikael.stal...@magine.com>
Authored: Wed Aug 31 11:40:12 2016 +0200
Committer: Mikael Ståldal <mikael.stal...@magine.com>
Committed: Wed Aug 31 11:40:12 2016 +0200

----------------------------------------------------------------------
 .../config/Log4j1ConfigurationFactory.java      |  1 -
 .../log4j/config/Log4j1ConfigurationParser.java | 20 +++++++++++---------
 2 files changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2e2dc8ee/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
----------------------------------------------------------------------
diff --git 
a/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
 
b/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
index 0a6bf2a..d6eb444 100644
--- 
a/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
+++ 
b/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationFactory.java
@@ -47,7 +47,6 @@ public class Log4j1ConfigurationFactory extends 
ConfigurationFactory {
         } catch (IOException e) {
             throw new ConfigurationException("Unable to load " + 
source.toString(), e);
         }
-        if (builder == null) return null;
         return builder.build();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2e2dc8ee/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationParser.java
----------------------------------------------------------------------
diff --git 
a/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationParser.java
 
b/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationParser.java
index 84b8533..9356584 100644
--- 
a/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationParser.java
+++ 
b/log4j-1.2-api/src/main/java/org/apache/log4j/config/Log4j1ConfigurationParser.java
@@ -16,8 +16,16 @@
  */
 package org.apache.log4j.config;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.core.appender.ConsoleAppender;
+import org.apache.logging.log4j.core.config.ConfigurationException;
 import 
org.apache.logging.log4j.core.config.builder.api.AppenderComponentBuilder;
 import org.apache.logging.log4j.core.config.builder.api.ComponentBuilder;
 import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
@@ -27,13 +35,6 @@ import 
org.apache.logging.log4j.core.config.builder.api.RootLoggerComponentBuild
 import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
 import org.apache.logging.log4j.status.StatusLogger;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
 /**
  * Experimental parser for Log4j 1.2 properties configuration files.
  * <p>
@@ -63,8 +64,9 @@ public class Log4j1ConfigurationParser {
      * Parse a Log4j 1.2 properties configuration file into a 
ConfigurationBuilder.
      *
      * @param input  InputStream to read from, will not be closed.
-     * @return  the populated ConfigurationBuilder
+     * @return  the populated ConfigurationBuilder, never {@literal null}
      * @throws IOException  if unable to read the input
+     * @throws ConfigurationException  if the input does not contain a valid 
configuration
      */
     public ConfigurationBuilder<BuiltConfiguration> 
buildConfigurationBuilder(final InputStream input) throws IOException {
         properties.load(input);
@@ -72,7 +74,7 @@ public class Log4j1ConfigurationParser {
         final String rootLoggerValue = getLog4jValue("rootLogger");
         if (rootCategoryValue == null && rootLoggerValue == null) {
             // This is not a Log4j 1 properties configuration file.
-            return null;
+            throw new ConfigurationException("Input does not contain a valid 
Log4j 1.x properties configuration");
         }
         builder.setConfigurationName("Log4j1");
         // DEBUG

Reply via email to