Not sure if this was by design and not sure if the equivalent log4j behaves the same way, but MDC::put will not overwrite an existing property with a new one. The new one is just ignored.
For example: MDC::put( "key", "value1" ); MDC::put( "key", "value2" ); Will result in the key property still set to value1. Every other map I have used will overwrite an existing value with a new one (usually they return the previous value). I consider this a bug. This is with 0.10.0 by the way. -- Dale King