<div>Hi,</div>
<div>&nbsp;</div>
<div>I am in the final stages of preparing a release that builds on top of ApacheDS, and consequently must use an slf4j compliant logging library so I used nlog4j 1.2.25 (as AD does).</div>
<div>&nbsp;</div>
<div>I have a requirement to have separate appenders created dynamically at runtime and adopted the approach shown in the small attached test/config files, which was:</div>
<div>&nbsp; 1. to have a template appender copied every time a new appender is required</div>
<div>&nbsp; 2. have a stub logger used only so that I can discover the template appender when I need it (as the template appender is in this loggers appender list in the .properties config file)</div>
<div>&nbsp; 3. to dynamically create a logger intended to send output to the dynamically created appender only (additivity is false and no other logger knows about each particular appender instance).</div>
<div>&nbsp;</div>
<div>This all works fine under normal load, but noted some problems under heavy logging load so I wrote the stand alone test to investigate.</div>
<div>&nbsp;</div>
<div>Running the test with 2 threads and no delay (&quot;java nlog4jtest.NLog4jTest 2 0&quot;) causing problems immediately on a dual core laptop running windows xp:</div>
<div>&nbsp; 1. log messages from one logger appear against appenders to which they are not linked</div>
<div>&nbsp; 2. partial log messages are evident, where headers are missing etc.</div>
<div>Using a delay of 5 milliseconds improved the situation but still both problems were evident.</div>
<div>&nbsp;</div>
<div>On a single cpu windows box running xp, &quot;java nlog4jtest.NLog4jTest&nbsp;10 0&quot; also evidenced both problems too.</div>
<div>&nbsp;</div>
<div>I know I&#39;m making use of a bespoke approach here, so I&#39;m hoping I&#39;m doing something wrong in my implementation or breaking some contract I&#39;m not aware of. I basically can&#39;t ship with logging in this state and can&#39;t migrate to logback due to LGPL license, which is a problem for the ApacheDS project&nbsp;too.
</div>
<div>&nbsp;</div>
<div>Any expert advice about alternative implementation approaches or how to best approach debugging would be greatly appreciated.</div>
<div>&nbsp;</div>
<div>Many Thanks,</div>
<div>Norval</div>