[ https://issues.apache.org/jira/browse/LOG4J2-3557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17597897#comment-17597897 ]
Andreas Leitgeb commented on LOG4J2-3557: ----------------------------------------- Thanks for caring, Piotr! In the meantime, I've given up on ancient mule-3.3.1, anyway. I 'm sure this change will help someone in future, though, maybe even with some entirely different combination of software than mine. :) > mule-3.3.1 with log4j-1.2-api-2.18.0 creates infinite recursion > --------------------------------------------------------------- > > Key: LOG4J2-3557 > URL: https://issues.apache.org/jira/browse/LOG4J2-3557 > Project: Log4j 2 > Issue Type: Question > Components: Log4j 1.2 bridge > Affects Versions: 2.18.0 > Reporter: Andreas Leitgeb > Assignee: Piotr Karwasz > Priority: Major > > mule's class ApplicationAwareRepositorySelector has getLoggerRepository() > method, and within that it eventually tries to create a RootLogger. > In old log4j-1.2.16.jar this just created the RootLogger/Logger/Category > hierarchy without any attempt to obtain a LoggerRepository. I disassembled > the bytecode to check this. > in the bridge, the c'tor of Category calls LogManager.getLoggerRepository() > and that method ends up recursively calling mule's > ApplicationAwareRepositorySelector.getLoggerRepository() > ``` > at > org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:171) > at org.apache.log4j.Category.<init>(Category.java:177) > at org.apache.log4j.Category.<init>(Category.java:192) > at org.apache.log4j.Logger.<init>(Logger.java:57) > at org.apache.log4j.spi.RootLogger.<init>(RootLogger.java:39) > at > org.mule.module.launcher.log4j.ApplicationAwareRepositorySelector.getLoggerRepository(ApplicationAwareRepositorySelector.java:62) > ``` > At this point I cannot yet tell, if this is a horrible wrong-doing of mule, > or just one of a number of horrible incompatibilities between the bridge and > the old real log4j. > I'm aware that mule-3.3.1 is helplessly out of lifetime, but that's what I > thought the bridge was meant for: to help upgrading SW that "cannot do > log4j2." -- This message was sent by Atlassian Jira (v8.20.10#820010)