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 toSystem.out
orSystem.err
using a layout specified by the user. The default target isSystem.out
.TODO Accessing
System.out
orSystem.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 Classes Modifier and Type Class 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 instantiateprivate 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.-
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
LifeCycle.State
-
-
Field Summary
Fields Modifier and Type Field 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
-
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
-
Fields inherited from interface org.apache.logging.log4j.core.Appender
ELEMENT_TYPE
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ConsoleAppender(java.lang.String name, Layout<? extends java.io.Serializable> layout, Filter filter, OutputStreamManager manager, boolean ignoreExceptions, ConsoleAppender.Target target, Property[] properties)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private static java.lang.String
clean(java.lang.String string)
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; usenewBuilder()
.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; usenewBuilder()
.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>>
BnewBuilder()
-
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender
append, directEncodeEvent, getImmediateFlush, getManager, start, stop, stop, writeByteArrayToManager
-
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toString
-
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter
-
Methods 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 Detail
-
PLUGIN_NAME
public static final java.lang.String PLUGIN_NAME
- See Also:
- Constant Field Values
-
JANSI_CLASS
private static final java.lang.String JANSI_CLASS
- See Also:
- Constant Field Values
-
factory
private static ConsoleAppender.ConsoleManagerFactory factory
-
DEFAULT_TARGET
private static final ConsoleAppender.Target DEFAULT_TARGET
-
COUNT
private static final java.util.concurrent.atomic.AtomicInteger COUNT
-
target
private final ConsoleAppender.Target target
-
-
Constructor Detail
-
ConsoleAppender
private ConsoleAppender(java.lang.String name, Layout<? extends java.io.Serializable> layout, Filter filter, OutputStreamManager manager, boolean ignoreExceptions, ConsoleAppender.Target target, Property[] properties)
-
-
Method Detail
-
createAppender
@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)
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 java.io.Serializable> layout, Filter filter, ConsoleAppender.Target target, java.lang.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 toFileDescriptor
and 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
public static ConsoleAppender createDefaultAppenderForLayout(Layout<? extends java.io.Serializable> layout)
-
newBuilder
@PluginBuilderFactory public static <B extends ConsoleAppender.Builder<B>> B newBuilder()
-
getDefaultManager
private static OutputStreamManager getDefaultManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends java.io.Serializable> layout)
-
getManager
private static OutputStreamManager getManager(ConsoleAppender.Target target, boolean follow, boolean direct, Layout<? extends java.io.Serializable> layout)
-
getOutputStream
private static java.io.OutputStream getOutputStream(boolean follow, boolean direct, ConsoleAppender.Target target)
-
clean
private static java.lang.String clean(java.lang.String string)
-
getTarget
public ConsoleAppender.Target getTarget()
-
-