You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Philipp Schneider (JIRA)" <ji...@apache.org> on 2015/07/27 11:46:04 UTC

[jira] [Created] (LOG4J2-1084) Wrong logic with java.util.Map in LogManager

Philipp Schneider created LOG4J2-1084:
-----------------------------------------

             Summary: Wrong logic with java.util.Map in LogManager
                 Key: LOG4J2-1084
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1084
             Project: Log4j 2
          Issue Type: Bug
          Components: API
    Affects Versions: 2.3
            Reporter: Philipp Schneider
            Priority: Minor


In the class org.apache.logging.log4j.LogManager in the API package there is a logical problem with finding the factory.

In the static initialization block starting at line 70 you try to create a factory instance from the factory class specified in the property "log4j2.loggerContextFactory". If that fails you try to find the class in all the supplied providers.

The problem comes in line 104. You check whether the list of factories is empty and if it is not you automatically assume that there is more than 1 provider which has that class.

Because of this I get the following logging entries on each startup:
WARN StatusLogger Multiple logging implementations found: 
Factory: org.apache.logging.log4j.core.impl.Log4jContextFactory, Weighting: 10
Using factory: org.apache.logging.log4j.core.impl.Log4jContextFactory

As you can see, it clearly outputs only a single possible factory and also uses that one.

Hope to see this fixed in 2.4 since it is really a minor issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org