<html>
    <head>
      <base href="http://bugzilla.slf4j.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Initialization (getILoggerFactory) is not thread safe"
   href="http://bugzilla.slf4j.org/show_bug.cgi?id=176#c28">Comment # 28</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Initialization (getILoggerFactory) is not thread safe"
   href="http://bugzilla.slf4j.org/show_bug.cgi?id=176">bug 176</a>
              from <span class="vcard"><a class="email" href="mailto:jperkins@redhat.com" title="James R. Perkins <jperkins@redhat.com>"> <span class="fn">James R. Perkins</span></a>
</span></b>
        <pre>The bottom line is the initialization is not thread-safe and IMO there is no
reason for it not to be. Log messages WILL be lost at some point. A no-op
logger is just a bad idea in general.

FWIW the fix in fixSubstitutedLoggers() method isn't really thread-safe either.

The following returns a newly created list of SubstituteLoggers.
List<SubstitutableLogger> loggers = TEMP_FACTORY.getLoggers();

At the end TEMP_FACTORY.clear(); is invoked which could potentially result in a
loss of a logger that was created in SubstituteLoggerFactory while the loop is
creating the loggers on the current LoggerFactory.

I will say that fix is better than nothing though. Just ignoring the issue
isn't going to solve it :)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>