Interface LifeCycle

All Known Subinterfaces:
Appender, Configuration, ConnectionSource, Filter, Filterable, LifeCycle2
All Known Implementing Classes:
AbstractAppender, AbstractConfiguration, AbstractConnectionSource, AbstractDatabaseAppender, AbstractDriverManagerConnectionSource, AbstractFileAppender, AbstractFilter, AbstractFilterable, AbstractLifeCycle, AbstractOutputStreamAppender, AbstractTriggeringPolicy, AbstractWriterAppender, AppenderControl, AsyncAppender, AsyncLoggerConfig, AsyncLoggerConfig.RootLogger, AsyncLoggerConfigDisruptor, AsyncLoggerContext, BuiltConfiguration, BurstFilter, CompositeConfiguration, CompositeFilter, CompositeTriggeringPolicy, ConfigurationScheduler, ConsoleAppender, CountingNoOpAppender, CronTriggeringPolicy, DataSourceConnectionSource, DefaultConfiguration, DefaultShutdownCallbackRegistry, DenyAllFilter, DriverManagerConnectionSource, DynamicThresholdFilter, FactoryMethodConnectionSource, FailoverAppender, FileAppender, HttpAppender, IdlePurgePolicy, JdbcAppender, JeroMqAppender, JmsAppender, JsonConfiguration, KafkaAppender, LevelMatchFilter, LevelRangeFilter, LoggerConfig, LoggerConfig.RootLogger, LoggerContext, MapFilter, MarkerFilter, MemoryMappedFileAppender, MutableThreadContextMapFilter, NoMarkerFilter, NoOpTriggeringPolicy, NoSqlAppender, NullAppender, NullConfiguration, OnStartupTriggeringPolicy, OutputStreamAppender, PropertiesConfiguration, RandomAccessFileAppender, RegexFilter, RewriteAppender, RollingFileAppender, RollingRandomAccessFileAppender, RoutingAppender, ScriptAppenderSelector, ScriptFilter, SizeBasedTriggeringPolicy, SmtpAppender, SocketAppender, StringMatchFilter, StructuredDataFilter, SyslogAppender, ThreadContextMapFilter, ThresholdFilter, TimeBasedTriggeringPolicy, TimeFilter, WatchManager, WriterAppender, XmlConfiguration, YamlConfiguration

public interface LifeCycle
All proper Java frameworks implement some sort of object life cycle. In Log4j, the main interface for handling the life cycle context of an object is this one. An object first starts in the LifeCycle.State.INITIALIZED state by default to indicate the class has been loaded. From here, calling the start() method will change this state to LifeCycle.State.STARTING. After successfully being started, this state is changed to LifeCycle.State.STARTED. When the stop() is called, this goes into the LifeCycle.State.STOPPING state. After successfully being stopped, this goes into the LifeCycle.State.STOPPED state. In most circumstances, implementation classes should store their LifeCycle.State in a volatile field or inside an AtomicReference dependent on synchronization and concurrency requirements.
See Also:
  • Method Details

    • getState

      LifeCycle.State getState()
      Gets the life-cycle state.
      Returns:
      the life-cycle state
    • initialize

      void initialize()
    • start

      void start()
    • stop

      void stop()
    • isStarted

      boolean isStarted()
    • isStopped

      boolean isStopped()