ppkarwasz opened a new pull request, #3263:
URL: https://github.com/apache/logging-log4j2/pull/3263

   As showed in #3252, Spring's `JndiPropertySource` not only can throw 
exceptions, but can also perform logging calls. Such a call causes a recursive 
call to `PropertiesUtil.getProperty("log4j2.flowMessageFactory"`) and a 
`StackOverflowException` in the best scenario. The worst scenario includes a 
deadlock.
   
   This PR:
   
   - Moves the creation of the default `MessageFactory` and 
`FlowMessageFactory` to the static initializer of `LoggerContext`. This should 
be close enough to the pre-2.23.0 location in `AbstractLogger`. The 
`LoggerContext` class is usually initialized, before Spring Boot adds its 
property sources to `PropertiesUtil`.
   - Adds a check to `PropertiesUtil` to ignore recursive calls.
   
   Closes #3252.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@logging.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to