I was looking through the new appenders and found RoutingAppender which intrigued me
From the documentation it seems that the RoutingAppender would create a new appender dynamically every time the key didn't match an existing appender name. However when testing this I find it only creates the first dynamically and then reuses that one as it is set to default. That doesn't seem what I would expect. My example code is as the following:
Here is the log4j2 xml file it picks up.
When I run the test though it only creates 1 file/appender with the name foo.bar and logs both messages to it. I would expect that it creates 2 files where each gets the different message.
Is there something I am missing about this or is this the intended behavior?
I have a change that gets it working, however part of it is hack and would need to be updated to the best alternative. Also I had to change BaseConfiguration slightly to make a defensive copy of the attributes. It seemed that was fine, otherwise the Route cannot be reused to make another appender if it blows away the attributes, don't know if that will affect other things though.
|Transition||Time In Source Status||Execution Times||Last Executer||Last Execution Date|
|2d 3h 27m||1||Ralph Goers||01/Dec/12 22:49|