Class ConsoleAppender
java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.filter.AbstractFilterable
org.apache.logging.log4j.core.appender.AbstractAppender
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<OutputStreamManager>
org.apache.logging.log4j.core.appender.ConsoleAppender
- All Implemented Interfaces:
Appender,Filterable,LocationAware,LifeCycle,LifeCycle2
@Plugin(name="Console",
category="Core",
elementType="appender",
printObject=true)
public final class ConsoleAppender
extends AbstractOutputStreamAppender<OutputStreamManager>
Appends log events to
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classConsoleAppender.Builder<B extends ConsoleAppender.Builder<B>>Builds ConsoleAppender instances.private static classFactory to create the Appender.private static classData to pass to factory method.Unable to instantiateprivate static classAn implementation of OutputStream that redirects to the current System.err.private static classAn implementation of OutputStream that redirects to the current System.out.static enumEnumeration of console destinations.Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
LifeCycle.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final AtomicIntegerprivate static final ConsoleAppender.Targetprivate static ConsoleAppender.ConsoleManagerFactoryprivate static final Stringstatic final Stringprivate final ConsoleAppender.TargetFields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGERFields inherited from interface org.apache.logging.log4j.core.Appender
ELEMENT_TYPE, EMPTY_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateConsoleAppender(String name, Layout<? extends Serializable> layout, Filter filter, OutputStreamManager manager, boolean ignoreExceptions, ConsoleAppender.Target target, Property[] properties) -
Method Summary
Modifier and TypeMethodDescriptionprivate static Stringstatic ConsoleAppendercreateAppender(Layout<? extends Serializable> layout, Filter filter, String targetStr, String name, String follow, String ignore) Deprecated.static ConsoleAppendercreateAppender(Layout<? extends Serializable> layout, Filter filter, ConsoleAppender.Target target, String name, boolean follow, boolean direct, boolean ignoreExceptions) Deprecated.Deprecated in 2.7; usenewBuilder().static ConsoleAppendercreateDefaultAppenderForLayout(Layout<? extends Serializable> layout) private static OutputStreamManagergetDefaultManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends Serializable> layout) private static OutputStreamManagergetManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends Serializable> layout) private static OutputStreamgetOutputStream(boolean follow, boolean direct, ConsoleAppender.Target target) static <B extends ConsoleAppender.Builder<B>>
BMethods inherited from class org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender
append, directEncodeEvent, getImmediateFlush, getManager, start, stop, stop, writeByteArrayToManagerMethods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toStringMethods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilterMethods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
-
Field Details
-
PLUGIN_NAME
- See Also:
-
JANSI_CLASS
- See Also:
-
factory
-
DEFAULT_TARGET
-
COUNT
-
target
-
-
Constructor Details
-
ConsoleAppender
private ConsoleAppender(String name, Layout<? extends Serializable> layout, Filter filter, OutputStreamManager manager, boolean ignoreExceptions, ConsoleAppender.Target target, Property[] properties)
-
-
Method Details
-
createAppender
@Deprecated public static ConsoleAppender createAppender(Layout<? extends Serializable> layout, Filter filter, String targetStr, String name, String follow, String ignore) Deprecated.Deprecated in 2.7; usenewBuilder().Creates a Console Appender.- Parameters:
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.- Returns:
- The ConsoleAppender.
-
createAppender
@Deprecated public static ConsoleAppender createAppender(Layout<? extends Serializable> layout, Filter filter, ConsoleAppender.Target target, String name, boolean follow, boolean direct, boolean ignoreExceptions) Deprecated.Deprecated in 2.7; usenewBuilder().Creates a Console Appender.- Parameters:
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 toFileDescriptorand bypassSystem.out/System.err.ignoreExceptions- If"true"(default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.- Returns:
- The ConsoleAppender.
-
createDefaultAppenderForLayout
-
newBuilder
-
getDefaultManager
private static OutputStreamManager getDefaultManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends Serializable> layout) -
getManager
private static OutputStreamManager getManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends Serializable> layout) -
getOutputStream
private static OutputStream getOutputStream(boolean follow, boolean direct, ConsoleAppender.Target target) -
clean
-
getTarget
-
newBuilder().