[ https://issues.apache.org/jira/browse/LOG4J2-3632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17633914#comment-17633914 ]
Jeff Thomas commented on LOG4J2-3632: ------------------------------------- Hallo Ralph, if I am not mistaken, I can always get a loaded configuration over the LoggerContext (we will probably opt to use the Basic Selector in our webapp to have a single managed logger-context). The missing piece I think is generating for example a writable XmlConfiguration from the current backing configuration Java-model. I *think* at the moment it would only be possible to adapt that to a builder and then write the builder to file??? That we need to update the UI is a given for us - we can live with that :) ... the main reason for this ticket at the moment was trying to determine if the bridge is sufficient to leave the 1.2 server code as-is as a first-pass solution while we take more time to upgrade to log4j2 and eventually elminate log4j 1.2 completely. > Using log4j-1_2-api to load XML configuration - Logger.getAppenders() empty > --------------------------------------------------------------------------- > > Key: LOG4J2-3632 > URL: https://issues.apache.org/jira/browse/LOG4J2-3632 > Project: Log4j 2 > Issue Type: Bug > Components: Log4j 1.2 bridge > Affects Versions: 2.19.0 > Reporter: Jeff Thomas > Assignee: Piotr Karwasz > Priority: Major > Attachments: image-2022-11-13-02-02-03-595.png, > image-2022-11-13-02-05-42-235.png > > > I have used the log4j 1.2 bridge XmlConfigurator to load a 1.2 XML > configuration and performed a `Configurator.reconfigure(configuration)`. > Then I retrieved a logger using "Logger.getLogger(String)". > When I then call 'Logger.getAppenders()" the returned enumeration is empty. > Looking at the logger in the debugger I can see the attached Appenders in the > associated LoggerConfig. > !image-2022-11-13-02-02-03-595.png! > In `org.apache.log4j.Category` I stepped through and got to here which > returned an empty collection. > !image-2022-11-13-02-05-42-235.png! > I might be doing something wrong ... it has been known to happen. :) But I > was expecting to get the two configured appenders "console" and "file" here. > The "problem" _seems_ to be here with the stream filter: > {code:java} > return Collections.enumeration(appenders.stream() > // omit native Log4j 2.x appenders > .filter(AppenderAdapter.Adapter.class::isInstance) > .map(AppenderWrapper::adapt) > .collect(Collectors.toSet()));{code} > The Javadoc in `Category` does say: > {quote} Get all the Log4j 1.x appenders contained in this category as an > \{@link Enumeration}. Log4j 2.x appenders are omitted. > {quote} > But I did load the configuration with the Bridge and I was hoping my legacy > code would still get the Appenders as before. -- This message was sent by Atlassian Jira (v8.20.10#820010)