[slf4j-dev] [JIRA] (SLF4J-192) Need ability to shutdown loggers and flush appenders
QOS.CH (JIRA)
noreply-jira at qos.ch
Tue Jun 13 12:48:00 CEST 2017
[ https://jira.qos.ch/browse/SLF4J-192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18787#comment-18787 ]
James Howe commented on SLF4J-192:
----------------------------------
At the moment the best you can do is something like this
{code}
ILoggerFactory factory = LoggerFactory.getILoggerFactory();
Class<?> clazz = factory.getClass();
try {
clazz.getMethod("stop").invoke(factory); // logback
} catch (ReflectiveOperationException ex) {
try {
clazz.getMethod("close").invoke(factory); // log4j
} catch (ReflectiveOperationException ignored) { }
}
{code}
> 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)
More information about the slf4j-dev
mailing list