[logback-user] How to stop all appenders?
Ceki Gülcü
ceki at qos.ch
Fri Oct 1 20:42:28 CEST 2010
Hello Michael,
SLF4J does not allow one to close appenders. Moreover, there is no plan
to add such capability. I am afraid you will have to write one or two
lines of framework specific code in your application.
On 29/09/2010 5:23 PM, Michael Schall wrote:
> This requires me to have access to ch.qos.logback.classic
> when writing code. It does not allow me to switch loggers out without
> changing code.
>
> We are in the process of moving from log4j to logback. One requirement
> placed on me is to be able to revert back to log4j if something "goes
> wrong". I was hoping that using SLF4J would give me this ability.
> I'm trying to achieve writing code only using SLF4J and...
>
> if slf4j-log4j12-1.6.1.jar and log4j-1.2.15.jar are in my production
> classpath, I'm logging using log4j.
> If log4j-over-slf4j-1.6.1.jar (for third-party
> logging), logback-classic-0.9.24.jar, and logback-core-0.9.24.jar are in
> my production classpath, I'm logging using logback.
>
> So without changing code, I can switch between logging back ends.
>
> 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()
>
> Thoughts?
> Mike
>
> On Tue, Sep 28, 2010 at 4:02 PM, Robert Elliot <rob at lidalia.org.uk
> <mailto:rob at lidalia.org.uk>> wrote:
>
> How about LoggerContext.stop()? It looks as if it's designed
> specifically for this purpose. It recursively stops and detaches
> all appenders, amongst other things.
>
> (You can cast the result of LoggerFactory.getILoggerFactory() to a
> LoggerContext).
>
> On 28 Sep 2010, at 21:53, Michael Schall wrote:
>
>> Great question! I asked this on stackoverflow a while back with no
>> real answers...
>>
>> http://stackoverflow.com/questions/3678755/do-i-need-to-flush-events-when-shutting-down-using-logback
>>
>> On Tue, Sep 28, 2010 at 3:32 PM, Chris <shef31 at yahoo.com
>> <mailto:shef31 at yahoo.com>> wrote:
>>> I'm using file appenders. At a certain point in my app, a little
>>> before
>>> shutdown, I have to close all loggers.
>>>
>>> How do I tell logback to call stop() on all appenders?
More information about the Logback-user
mailing list