[ https://issues.apache.org/jira/browse/LOG4J2-1539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15431822#comment-15431822 ]
Ralph Goers commented on LOG4J2-1539: ------------------------------------- I dislike the patch because of the call to LoggerContext.getContext(false) from AbstractManager. Actually, I dislike the currentContext flag because it is confusing, but that is a different story. We really do need to inject Manager's with their LoggerContext. I ran into this same problem when I was working on creating a ThreadLocal repository so we could properly clean them up. But I fear using the getContext() method may not always return the correct result. > 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 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