JWT007 opened a new issue, #3360:
URL: https://github.com/apache/logging-log4j2/issues/3360

   **Log4j 2.24**
   
   The XmlConfiguration implementation is non-final meaning it is possible to 
subclass it to provide additional custom functionality; however: the most 
relevant class field `rootElement` is private making it near impossible to do 
anything useful in the subclass.
   
   It would be helpful (and prevent making a complete copy of the 
implementation) to at the very least provide a protected accessor for this 
field:
   
   i.e. `protected Element getRootElement()`
   
   This way, a custom subclass has a chance to perform some custom handling in 
`public void setup()` before the hierarchy is constructed.
   
   Most of the AbstractConfiguration configuration-relevant fields are 
protected (i.e. rootNode) - but it seems someone didn't stick to that approach 
in the XmlConfiguration implementation.
   
   SIDE NOTE: It seems the complexity of the currrent XmlConfiguration could be 
greatly reduced by sticking a little more closely to SRP (single-responsibility 
principle) and offloading the instantiation/configuration of the 
DocumentBuilderFactory and maybe the validation to separate utility classes .


-- 
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.apache.org

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

Reply via email to