Package ch.qos.logback.core.recovery
Class ResilientOutputStreamBase
- java.lang.Object
-
- java.io.OutputStream
-
- ch.qos.logback.core.recovery.ResilientOutputStreamBase
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
- Direct Known Subclasses:
ResilientFileOutputStream
,ResilientSyslogOutputStream
public abstract class ResilientOutputStreamBase extends java.io.OutputStream
-
-
Field Summary
Fields Modifier and Type Field Description private Context
context
private int
noContextWarning
protected java.io.OutputStream
os
protected boolean
presumedClean
private RecoveryCoordinator
recoveryCoordinator
(package private) static int
STATUS_COUNT_LIMIT
private int
statusCount
-
Constructor Summary
Constructors Constructor Description ResilientOutputStreamBase()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addStatus(Status status)
(package private) void
addStatusIfCountNotOverLimit(Status s)
(package private) void
attemptRecovery()
void
close()
void
flush()
Context
getContext()
(package private) abstract java.lang.String
getDescription()
private boolean
isPresumedInError()
(package private) abstract java.io.OutputStream
openNewOutputStream()
void
postIOFailure(java.io.IOException e)
private void
postSuccessfulWrite()
void
setContext(Context context)
void
write(byte[] b, int off, int len)
void
write(int b)
-
-
-
Field Detail
-
STATUS_COUNT_LIMIT
static final int STATUS_COUNT_LIMIT
- See Also:
- Constant Field Values
-
noContextWarning
private int noContextWarning
-
statusCount
private int statusCount
-
context
private Context context
-
recoveryCoordinator
private RecoveryCoordinator recoveryCoordinator
-
os
protected java.io.OutputStream os
-
presumedClean
protected boolean presumedClean
-
-
Method Detail
-
isPresumedInError
private boolean isPresumedInError()
-
write
public void write(byte[] b, int off, int len)
- Overrides:
write
in classjava.io.OutputStream
-
write
public void write(int b)
- Specified by:
write
in classjava.io.OutputStream
-
flush
public void flush()
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
-
getDescription
abstract java.lang.String getDescription()
-
openNewOutputStream
abstract java.io.OutputStream openNewOutputStream() throws java.io.IOException
- Throws:
java.io.IOException
-
postSuccessfulWrite
private void postSuccessfulWrite()
-
postIOFailure
public void postIOFailure(java.io.IOException e)
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.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)
-
-