[ https://issues.apache.org/jira/browse/LOG4J2-1539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15431898#comment-15431898 ]
Ralph Goers commented on LOG4J2-1539: ------------------------------------- As soon as you need the LoggerContext in the Managers it opens up this can of worms. Originally I thought we could just inject the bits the Managers needed but that clearly isn't working well. If you want to have a second story for doing that I'm OK with that, but this one should be dependent on that. > Add Core API Configurator.shutdown(LoggerContext, long, TimeUnit) > ----------------------------------------------------------------- > > Key: LOG4J2-1539 > URL: https://issues.apache.org/jira/browse/LOG4J2-1539 > Project: Log4j 2 > Issue Type: New Feature > Components: Core > Reporter: Gary Gregory > Fix For: 2.7 > > Attachments: logging-log4j2.patch > > > Add Core API Configurator.shutdown(LoggerContext, long, TimeUnit): > {code:java} > /** > * Blocks until all Log4j tasks have completed execution after a shutdown > request, or the timeout occurs, or the > * current thread is interrupted, whichever happens first. > * <p> > * Log4j can start threads to perform certain actions like file > rollovers, calling this method with a timeout will > * block until the rollover thread is done. > * </p> > * > * @param ctx > * the logger context to shut down, may be null. > * @param timeout > * the maximum time to wait > * @param timeUnit > * the time unit of the timeout argument > * @return {@code true} if the logger context terminated and {@code > false} if the timeout elapsed before > * termination. > */ > public static boolean shutdown(final LoggerContext ctx, final long > timeout, final TimeUnit timeUnit) > {code} > Clarify the existing Javadoc for {{shutdown(LoggerContext}} as: > {code:java} > /** > * Shuts down the given logger context. This request does not wait for > Log4j tasks to complete. > * <p> > * Log4j starts threads to perform certain actions like file rollovers; > calling this method will not wait until the > * rollover thread is done. When this method returns, these tasks' status > are undefined, the tasks may be done or > * not. > * </p> > * > * @param ctx > * the logger context to shut down, may be null. > */ > public static void shutdown(final LoggerContext ctx) > {code} > This also eliminates all intermittent failures in rollover unit tests like > {{org.apache.logging.log4j.core.appender.rolling.RollingAppenderCronTest.testAppender}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org