Support was added to XMLConfiguration to allow XIncludes in the XML files. While this can be useful it does not allow for the use case where someone wants a default configuration and then a custom configuration to be merged with it.
I am proposing creating a CompositeConfiguration class that accepts a comma separated list of configuration files. It would then use the Configuration factories to create the appropriate Configuration classes for each of the underlying files. It would then merge the Node hierarchies created by each into a single tree and then finally construct the actual configuration Objects from that tree.
There are a few issues with this - for example each configuration can specify debug and verbose attributes, duplicate property settings, handling duplicate Appender names, etc. Most of these should be fairly easy to resolve.