[ 
https://jira.qos.ch/browse/SLF4J-192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19388#comment-19388
 ] 

Joachim Durchholz commented on SLF4J-192:
-----------------------------------------

What's the point of having a shutdown method in the facade?

Facades are about concentrating the dependency to the backend in one place - or 
at least no more places than you can count on one hand.
Since shutdown would replace a single call with a single call, it's not saving 
you anything here. It _is_ giving you a small O(1) benefit in that it defines a 
standard shutdown point; OTOH I find that logging tends to require some 
application-specific setup and teardown anyway; there's simply no point in 
adding such a function.

I think what would be worth thinking about is a single point that handles 
application setup _and_ shutdown code. Since there are typically dependencies 
between the two, that would be helpful.
However, that's application-specific. I tend to have a LoggingManagement class 
that does the setup, and registers a shutdown hook. Plus it deals with those 
libraries that have non-SLF4J logging, whether because legacy or because the 
library designer does not want to use SLF4J (I live with both cases).
So, from my perspective, SLF4J isn't even the right place to organize setup and 
teardown, things are too application-specific.

> Need ability to shutdown loggers and flush appenders
> ----------------------------------------------------
>
>                 Key: SLF4J-192
>                 URL: https://jira.qos.ch/browse/SLF4J-192
>             Project: SLF4J
>          Issue Type: Improvement
>          Components: Core API
>    Affects Versions: 1.6.x
>         Environment: Operating System: All
> Platform: All
>            Reporter: Michael Schall
>            Assignee: SLF4J developers list
>
> There needs to be a way to shutdown logging and flush async appenders so when 
> a process is closing, all log events are written before the process is closed.
> Should ILoggerFactory have a shutdown or stop method?  It could shutdown 
> whatever logging back end I'm using?
> For log4j it would call - 
> org.apache.log4j.LogManager.getLoggerRepository().shutdown();
> For logback it would call - loggerContext.stop()
> Other back ends - ???
> This is required to allow me to not reference logging back ends explicitly in 
> my code to shutdown successfully without losing events.
> Discussion about this is happening on the user list at -
> http://www.qos.ch/pipermail/logback-user/2010-September/001816.html



--
This message was sent by Atlassian JIRA
(v7.3.1#73012)
_______________________________________________
slf4j-dev mailing list
slf4j-dev@qos.ch
http://mailman.qos.ch/mailman/listinfo/slf4j-dev

Reply via email to