[logback-user] How to stop all appenders?
Michael Schall
mike.schall at gmail.com
Wed Sep 29 18:30:11 CEST 2010
Are you suggesting a close method on ILogger? We use a static logger per
class. I don't want to have to close each logger separately. I would like
a master shutoff switch that will synchronously flush all appenders so I can
call it before exiting my app. The ILoggerFactory seems like the perfect
spot for this.
On Wed, Sep 29, 2010 at 10:42 AM, Chris <shef31 at yahoo.com> wrote:
> I think the right solution is to add a logger.close() method to slf4j. Each
> implementation could handle it in its own way. For logback or log4j, it
> would just call stop() on each of the appenders that were attached to the
> logger.
>
>
>
>
> On 9/29/2010 10:23 AM, 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
>>>> <mailto:Logback-user at qos.ch>
>>>>
>>>> http://qos.ch/mailman/listinfo/logback-user
>>>>
>>>> _______________________________________________
>>> Logback-user mailing list
>>> Logback-user at qos.ch
>>> <mailto:Logback-user at qos.ch>
>>>
>>> http://qos.ch/mailman/listinfo/logback-user
>>>
>>
>>
>> _______________________________________________
>> Logback-user mailing list
>> Logback-user at qos.ch
>> <mailto:Logback-user at qos.ch>
>>
>> http://qos.ch/mailman/listinfo/logback-user
>>
>>
>>
>>
>> _______________________________________________
>> Logback-user mailing list
>> Logback-user at qos.ch
>> http://qos.ch/mailman/listinfo/logback-user
>>
>
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://qos.ch/pipermail/logback-user/attachments/20100929/a1a83696/attachment.html>
More information about the Logback-user
mailing list