Class LoggingErrorHandler

  • All Implemented Interfaces:
    java.lang.AutoCloseable, ErrorHandler

    public class LoggingErrorHandler
    extends java.lang.Object
    implements ErrorHandler, java.lang.AutoCloseable
    A logging ErrorHandler that records to a DistinctErrorLog and if the log is full then overflows to a PrintStream. If closed then error will be sent to errorOverflow().
    • Field Detail

      • isClosed

        private volatile boolean isClosed
      • errorOverflow

        private final java.io.PrintStream errorOverflow
    • Constructor Detail

      • LoggingErrorHandler

        public LoggingErrorHandler​(DistinctErrorLog log,
                                   java.io.PrintStream errorOverflow)
        Construct error handler wrapping a DistinctErrorLog and PrintStream for error overflow.
        Parameters:
        log - to wrap.
        errorOverflow - to be used if the log fills.
    • Method Detail

      • close

        public void close()
        Close error handler so that is does not attempt to write to underlying storage which may be unmapped.
        Specified by:
        close in interface java.lang.AutoCloseable
      • isClosed

        public boolean isClosed()
        Is this LoggingErrorHandler closed.
        Returns:
        true if close() has been called otherwise false.
      • distinctErrorLog

        public DistinctErrorLog distinctErrorLog()
        The wrapped log.
        Returns:
        the wrapped log.
      • errorOverflow

        public java.io.PrintStream errorOverflow()
        The wrapped PrintStream for error log overflow when the log is full.
        Returns:
        wrapped PrintStream for error log overflow when the log is full.
      • onError

        public void onError​(java.lang.Throwable throwable)
        Callback to notify of an error that has occurred when processing an operation or event.

        This method is assumed non-throwing, so rethrowing the exception or triggering further exceptions would be a bug.

        Specified by:
        onError in interface ErrorHandler
        Parameters:
        throwable - that occurred while processing an operation or event.