You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 .
The text was updated successfully, but these errors were encountered:
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 .
The text was updated successfully, but these errors were encountered: