@Plugin(name="Console", category="Core", elementType="appender", printObject=true) public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputStreamManager>
System.out
or System.err
using a layout specified by the user. The
default target is System.out
.
TODO Accessing System.out
or System.err
as a byte stream instead of a writer bypasses the
JVM's knowledge of the proper encoding. (RG) Encoding is handled within the Layout. Typically, a Layout will generate
a String and then call getBytes which may use a configured encoding or the system default. OTOH, a Writer cannot
print byte streams.
Modifier and Type | Class and Description |
---|---|
static class |
ConsoleAppender.Builder<B extends ConsoleAppender.Builder<B>>
Builds ConsoleAppender instances.
|
private static class |
ConsoleAppender.ConsoleManagerFactory
Factory to create the Appender.
|
private static class |
ConsoleAppender.FactoryData
Data to pass to factory method.Unable to instantiate
|
private static class |
ConsoleAppender.SystemErrStream
An implementation of OutputStream that redirects to the current System.err.
|
private static class |
ConsoleAppender.SystemOutStream
An implementation of OutputStream that redirects to the current System.out.
|
static class |
ConsoleAppender.Target
Enumeration of console destinations.
|
LifeCycle.State
Modifier and Type | Field and Description |
---|---|
private static java.util.concurrent.atomic.AtomicInteger |
COUNT |
private static ConsoleAppender.Target |
DEFAULT_TARGET |
private static ConsoleAppender.ConsoleManagerFactory |
factory |
private static java.lang.String |
JANSI_CLASS |
static java.lang.String |
PLUGIN_NAME |
private ConsoleAppender.Target |
target |
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
ELEMENT_TYPE
Modifier | Constructor and Description |
---|---|
private |
ConsoleAppender(java.lang.String name,
Layout<? extends java.io.Serializable> layout,
Filter filter,
OutputStreamManager manager,
boolean ignoreExceptions,
ConsoleAppender.Target target,
Property[] properties) |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
clean(java.lang.String string) |
static ConsoleAppender |
createAppender(Layout<? extends java.io.Serializable> layout,
Filter filter,
ConsoleAppender.Target target,
java.lang.String name,
boolean follow,
boolean direct,
boolean ignoreExceptions)
Deprecated.
Deprecated in 2.7; use
newBuilder() . |
static ConsoleAppender |
createAppender(Layout<? extends java.io.Serializable> layout,
Filter filter,
java.lang.String targetStr,
java.lang.String name,
java.lang.String follow,
java.lang.String ignore)
Deprecated.
Deprecated in 2.7; use
newBuilder() . |
static ConsoleAppender |
createDefaultAppenderForLayout(Layout<? extends java.io.Serializable> layout) |
private static OutputStreamManager |
getDefaultManager(ConsoleAppender.Target target,
boolean follow,
boolean direct,
Layout<? extends java.io.Serializable> layout) |
private static OutputStreamManager |
getManager(ConsoleAppender.Target target,
boolean follow,
boolean direct,
Layout<? extends java.io.Serializable> layout) |
private static java.io.OutputStream |
getOutputStream(boolean follow,
boolean direct,
ConsoleAppender.Target target) |
ConsoleAppender.Target |
getTarget() |
static <B extends ConsoleAppender.Builder<B>> |
newBuilder() |
append, directEncodeEvent, getImmediateFlush, getManager, start, stop, stop, writeByteArrayToManager
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toString
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
public static final java.lang.String PLUGIN_NAME
private static final java.lang.String JANSI_CLASS
private static ConsoleAppender.ConsoleManagerFactory factory
private static final ConsoleAppender.Target DEFAULT_TARGET
private static final java.util.concurrent.atomic.AtomicInteger COUNT
private final ConsoleAppender.Target target
private ConsoleAppender(java.lang.String name, Layout<? extends java.io.Serializable> layout, Filter filter, OutputStreamManager manager, boolean ignoreExceptions, ConsoleAppender.Target target, Property[] properties)
@Deprecated public static ConsoleAppender createAppender(Layout<? extends java.io.Serializable> layout, Filter filter, java.lang.String targetStr, java.lang.String name, java.lang.String follow, java.lang.String ignore)
newBuilder()
.layout
- The layout to use (required).filter
- The Filter or null.targetStr
- The target ("SYSTEM_OUT" or "SYSTEM_ERR"). The default is "SYSTEM_OUT".name
- The name of the Appender (required).follow
- If true will follow changes to the underlying output stream.ignore
- If "true"
(default) exceptions encountered when appending events are logged; otherwise they
are propagated to the caller.@Deprecated public static ConsoleAppender createAppender(Layout<? extends java.io.Serializable> layout, Filter filter, ConsoleAppender.Target target, java.lang.String name, boolean follow, boolean direct, boolean ignoreExceptions)
newBuilder()
.layout
- The layout to use (required).filter
- The Filter or null.target
- The target (SYSTEM_OUT or SYSTEM_ERR). The default is SYSTEM_OUT.name
- The name of the Appender (required).follow
- If true will follow changes to the underlying output stream.direct
- If true will write directly to FileDescriptor
and bypass
System.out
/System.err
.ignoreExceptions
- If "true"
(default) exceptions encountered when appending events are logged; otherwise they
are propagated to the caller.public static ConsoleAppender createDefaultAppenderForLayout(Layout<? extends java.io.Serializable> layout)
@PluginBuilderFactory public static <B extends ConsoleAppender.Builder<B>> B newBuilder()
private static OutputStreamManager getDefaultManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends java.io.Serializable> layout)
private static OutputStreamManager getManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends java.io.Serializable> layout)
private static java.io.OutputStream getOutputStream(boolean follow, boolean direct, ConsoleAppender.Target target)
private static java.lang.String clean(java.lang.String string)
public ConsoleAppender.Target getTarget()