Class FailoverAppender

    • Field Detail

      • DEFAULT_INTERVAL_SECONDS

        private static final int DEFAULT_INTERVAL_SECONDS
        See Also:
        Constant Field Values
      • primaryRef

        private final java.lang.String primaryRef
      • failovers

        private final java.lang.String[] failovers
      • failoverAppenders

        private final java.util.List<AppenderControl> failoverAppenders
      • intervalNanos

        private final long intervalNanos
      • nextCheckNanos

        private volatile long nextCheckNanos
    • Constructor Detail

      • FailoverAppender

        private FailoverAppender​(java.lang.String name,
                                 Filter filter,
                                 java.lang.String primary,
                                 java.lang.String[] failovers,
                                 int intervalMillis,
                                 Configuration config,
                                 boolean ignoreExceptions,
                                 Property[] properties)
    • Method Detail

      • append

        public void append​(LogEvent event)
        Handle the Log event.
        Parameters:
        event - The LogEvent.
      • callAppender

        private void callAppender​(LogEvent event)
      • failover

        private void failover​(LogEvent event,
                              java.lang.Exception ex)
      • createAppender

        @PluginFactory
        public static FailoverAppender createAppender​(@PluginAttribute("name")
                                                      java.lang.String name,
                                                      @PluginAttribute("primary")
                                                      java.lang.String primary,
                                                      @PluginElement("Failovers")
                                                      java.lang.String[] failovers,
                                                      @PluginAliases("retryInterval") @PluginAttribute("retryIntervalSeconds")
                                                      java.lang.String retryIntervalSeconds,
                                                      @PluginConfiguration
                                                      Configuration config,
                                                      @PluginElement("Filter")
                                                      Filter filter,
                                                      @PluginAttribute("ignoreExceptions")
                                                      java.lang.String ignore)
        Create a Failover Appender.
        Parameters:
        name - The name of the Appender (required).
        primary - The name of the primary Appender (required).
        failovers - The name of one or more Appenders to fail over to (at least one is required).
        retryIntervalSeconds - The retry interval in seconds.
        config - The current Configuration (passed by the Configuration when the appender is created).
        filter - A Filter (optional).
        ignore - If "true" (default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.
        Returns:
        The FailoverAppender that was created.