Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-1539

Add Core API Configurator.shutdown(LoggerContext, long, TimeUnit)

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.7
    • Core
    • None

    Description

      Add Core API Configurator.shutdown(LoggerContext, long, TimeUnit):

          /**
           * 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)
      

      Clarify the existing Javadoc for shutdown(LoggerContext as:

          /**
           * 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)
      

      This also eliminates all intermittent failures in rollover unit tests like org.apache.logging.log4j.core.appender.rolling.RollingAppenderCronTest.testAppender.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            ggregory Gary D. Gregory
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment