[ 
https://issues.apache.org/jira/browse/LOG4J2-3440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17884054#comment-17884054
 ] 

Piotr Karwasz commented on LOG4J2-3440:
---------------------------------------

[~chaostya],

That is by design.

The Log4j 1-to-Log4j 2 Bridge will never instantiate 
{{org.apache.log4j.ConsoleAppender}}, but a wrapped 
{{org.apache.logging.log4j.core.ConsoleAppender}}. Since your Log4j 1 code 
probably expects an appender of type {{org.apache.log4j.ConsoleAppender}}, it 
doesn't make sense to return the wrapper and the wrappers of Log4j 2 appenders 
are omitted in the enumeration.

If you want to modify the Log4j 2 Core configuration, you need to do it using 
the Log4j 2 Core API. See 
https://logging.apache.org/log4j/2.x/manual/customconfig.html for details.

> Log4j 1.2 bridge getAllAppenders() returns null enumeration
> -----------------------------------------------------------
>
>                 Key: LOG4J2-3440
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3440
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Log4j 1.2 bridge
>    Affects Versions: 2.17.2
>            Reporter: Pablo Rogina
>            Assignee: Piotr Karwasz
>            Priority: Major
>             Fix For: 2.18.0
>
>         Attachments: log4j.xml
>
>
> Old application using Log4j 1.2.x relies on Logger.getAllAppenders() to 
> decide if Log4j it's already configured (returned Enumeration has at least 1 
> appender) or not (empty returned Enumeration).
> Some recent code audits mandate to remove log4j v1 component(s) and to 
> upgrade to latest 2.17.2 release, so we're using Log4j 1.2 Bridge to comply 
> and not to change application code.
> However, we're facing the issue describe here [1] for 
> Logger.getRootLogger().getAllAppenders() although with latest Log4j release 
> 2.17.2 the issue seems to be that data structure aai is never updated with 
> the proper configured appenders, given that now most of the work happens in 
> the Log4j v2 Core implementation, thus using LoggerContext
> [1] [java - Log4j getAllAppenders() returns null enumeration - Stack 
> Overflow|https://stackoverflow.com/questions/32864929/log4j-getallappenders-returns-null-enumeration]
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to