[logback-user] How to stop all appenders?
Joern Huxhorn
jhuxhorn at googlemail.com
Sat Oct 2 00:47:57 CEST 2010
Hi Michael,
You could use reflection to make the necessary calls in case of Logback, thus preventing a direct dependency on Logback.
Alternatively, you could put the logback-specific code into a separate module so that the dependency is limited to that module instead of the rest of your application.
HTH & Cheers,
Joern.
On 01.10.2010, at 20:42, Ceki Gülcü wrote:
>
> 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?
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user
More information about the Logback-user
mailing list