Interface ShutdownCallbackRegistry

All Known Implementing Classes:
DefaultShutdownCallbackRegistry, Log4jContextFactory

public interface ShutdownCallbackRegistry
Registry used for Runnable shutdown callback instances. Due to differing requirements of how late in the JVM lifecycle Log4j should be shut down, this interface is provided for customizing how to register shutdown hook callbacks. Implementations may optionally implement LifeCycle.
Since:
2.1
  • Field Details

    • SHUTDOWN_CALLBACK_REGISTRY

      static final String SHUTDOWN_CALLBACK_REGISTRY
      System property to set to choose the ShutdownCallbackRegistry.
      See Also:
    • SHUTDOWN_HOOK_ENABLED

      static final String SHUTDOWN_HOOK_ENABLED
      System property to set to override the global ability to register shutdown hooks.
      See Also:
    • SHUTDOWN_HOOK_MARKER

      static final Marker SHUTDOWN_HOOK_MARKER
      Shared Marker to indicate log messages corresponding to shutdown hooks.
  • Method Details

    • addShutdownCallback

      Cancellable addShutdownCallback(Runnable callback)
      Adds a Runnable shutdown callback to this class. Note: The returned Cancellable must be retained on heap by caller to avoid premature garbage-collection of the registered callback (and to ensure the callback runs on shutdown).
      Parameters:
      callback - the shutdown callback to be executed upon shutdown.
      Returns:
      a Cancellable wrapper of the provided callback or null if the shutdown hook is disabled and cannot be added.
      Since:
      2.1