Class ResilientOutputStreamBase

java.lang.Object
java.io.OutputStream
ch.qos.logback.core.recovery.ResilientOutputStreamBase
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
Direct Known Subclasses:
ResilientFileOutputStream, ResilientSyslogOutputStream

public abstract class ResilientOutputStreamBase extends OutputStream
  • Field Details

    • STATUS_COUNT_LIMIT

      static final int STATUS_COUNT_LIMIT
      See Also:
    • noContextWarning

      private int noContextWarning
    • statusCount

      private int statusCount
    • context

      private Context context
    • recoveryCoordinator

      private RecoveryCoordinator recoveryCoordinator
    • os

      protected OutputStream os
    • presumedClean

      protected boolean presumedClean
  • Constructor Details

    • ResilientOutputStreamBase

      public ResilientOutputStreamBase()
  • Method Details

    • isPresumedInError

      private boolean isPresumedInError()
    • write

      public void write(byte[] b, int off, int len)
      Overrides:
      write in class OutputStream
    • write

      public void write(int b)
      Specified by:
      write in class OutputStream
    • flush

      public void flush()
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class OutputStream
    • getDescription

      abstract String getDescription()
    • openNewOutputStream

      abstract OutputStream openNewOutputStream() throws IOException
      Throws:
      IOException
    • postSuccessfulWrite

      private void postSuccessfulWrite()
    • postIOFailure

      public void postIOFailure(IOException e)
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class OutputStream
      Throws:
      IOException
    • attemptRecovery

      void attemptRecovery()
    • addStatusIfCountNotOverLimit

      void addStatusIfCountNotOverLimit(Status s)
    • addStatus

      public void addStatus(Status status)
    • getContext

      public Context getContext()
    • setContext

      public void setContext(Context context)