diff -ur log4j.orig/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java log4j/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java --- log4j.orig/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java 2014-06-15 18:09:41.000000000 -0400 +++ log4j/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java 2014-06-15 18:10:30.000000000 -0400 @@ -241,7 +241,12 @@ try { final ConfigurationFactory.ConfigurationSource source = new ConfigurationFactory.ConfigurationSource(new FileInputStream(configFile), configFile); - return new XmlConfiguration(source); + final XmlConfiguration newConfig = new XmlConfiguration(source); + if (newConfig.rootElement == null) { + // constructor already reported "Error parsing ..." + return null; + } + return newConfig; } catch (final FileNotFoundException ex) { LOGGER.error("Cannot locate file " + configFile, ex); }