You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by "Andre Burgoyne (JIRA)" <ji...@apache.org> on 2017/09/05 22:03:00 UTC

[jira] [Created] (LOG4J2-2033) Regression in ProviderUtil.hasProviders for 2.9.0

Andre Burgoyne created LOG4J2-2033:
--------------------------------------

             Summary: Regression in ProviderUtil.hasProviders for 2.9.0
                 Key: LOG4J2-2033
                 URL: https://issues.apache.org/jira/browse/LOG4J2-2033
             Project: Log4j 2
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.9.0
            Reporter: Andre Burgoyne


With release of 2.9.0, log4j no longer finds it configuration when running in an ant task.

{code:java}
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.util.ProviderUtil;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;

public class AntTest extends Task {
    private static void logTest() {
        System.out.println("ProviderUtil.hasProviders() = " + ProviderUtil.hasProviders());
        System.out.println("LogManager.getContext() = " + LogManager.getContext());
        LogManager.getLogger(AntTest.class).warn("test warn");
    }

    public void execute() throws BuildException {
        logTest();
    }
}
{code}

This code when run with a log4j2.properties in the class path works fine with version 2.8.2, but when linked with 2.9.0 it fails:


{noformat}
# using log4j-core-2.8.2.jar and log4j-api-2.8.2.jar
 [AntTest8] ProviderUtil.hasProviders() = true
 [AntTest8] LogManager.getContext() = org.apache.logging.log4j.core.LoggerContext@2d3379b4
 [AntTest8] 2017-09-05 14:57:41,854 WARN main [AntTest] test warn
# using log4j-core-2.9.0.jar and log4j-api-2.9.0.jar
 [AntTest9] ProviderUtil.hasProviders() = false
 [AntTest9] ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
 [AntTest9] LogManager.getContext() = org.apache.logging.log4j.simple.SimpleLoggerContext@e4487af
{noformat}




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)