<html>
    <head>
      <base href="http://bugzilla.slf4j.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - Need ability to shutdown loggers and flush appenders"
   href="http://bugzilla.slf4j.org/show_bug.cgi?id=201#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - Need ability to shutdown loggers and flush appenders"
   href="http://bugzilla.slf4j.org/show_bug.cgi?id=201">bug 201</a>
              from <span class="vcard"><a class="email" href="mailto:robert@teviotia.co.uk" title="Robert Elliot <robert@teviotia.co.uk>"> <span class="fn">Robert Elliot</span></a>
</span></b>
        <pre>This use case seems to me an excellent example of why shutdown/flush should
*not* be in SLF4J. It's characteristics are as follows:

1) It is explicitly about application lifecycle, specifically about how an
application stops. As such it's perfectly reasonable for the code that starts
and stops the application (and hence *must* depend directly on a specific SLF4J
implementation) to know about that implementation and use it. Logback, for
instance, has a means to shut it down - this can simply be used in the context
of application ending code.

2) It is explicitly about *how* log messages are handled (in this case, sent to
standard out). One of the basic ideas about SLF4J is that it knows nothing
about what happens to a log message and its arguments. They may be discarded,
they may be sent over a socket to some other process, they may be sent to a
database, they may be held in memory - that's all the business of the
implementation and its configuration, *not* SLF4J.

To me a great deal of the value and flexibility of the SLF4J interface lies in
how little it attempts to abstract over. It does not seek to abstract over an
entire logging implementation, only over the basics of sending a log message to
something unknown that may do what it likes with it. The primary use case to me
is libraries, that do not know what application will bring them in or what
logging implementation it may be interested in or how it may seek to output its
log statements. That's all a different concern.</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>