title: If you use ThreadContext.put() in a Runnable, do you still need to remove the element you added after execution?
body: <p>I'm trying to set up <code>log4j</code> to print certain values in all log messages.
  I'm reading that if you add a value via <code>ThreadContext.put()</code> (a traceId in this case) in a class, then use an executor service to start a <code>Runnable</code> I need to add the traceId to the <code>ThreadContext</code> in the runnable too (unless I modify some config to automatically do that, I haven't looked into that yet).<br />
  My question is, when that <code>Runnable</code> terminates, is the <code>ThreadContext</code> it was using destroyed, or do I need to manually delete the value I added before it's disposed of?</p>