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 <[email protected] >> <mailto:[email protected]>> 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 <[email protected] >>> <mailto:[email protected]>> 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 > [email protected] > http://qos.ch/mailman/listinfo/logback-user _______________________________________________ Logback-user mailing list [email protected] http://qos.ch/mailman/listinfo/logback-user
