@Plugin(name="SharedRollingFile",
category="Core",
elementType="appender",
printObject=true)
public final class SharedRollingFileAppender
extends org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<org.apache.logging.log4j.core.appender.rolling.RollingFileManager>
implements org.apache.logging.log4j.core.appender.rolling.RolloverListener
fileLock - path to the file to be used for shared locking (will be created if needed). The same lock can be used for different appenders.
resourceLock - path to the resource to be used for shared locking (must not be packed within archive).
messageQueueSize - message queue size to be used as a buffer for asynchronous processing to soften heavy file locking operations time
default 1K.
writerThreadKeepAliveTimeSec - if value is greater than zero, it is used as a time to shut down background non-daemon writer thread guarantee messages flush to the
file system in the background thread but not prevent normal JVM shutdown when idle. Rare messages may experience short delays (~0.3s) starting worker thread. If
value is zero, endless daemon worker thread is started not preventing normal JVM shutdown but without any guarantee of messages processing before shutdown. This approach has
no write time delays and continuous worker thread recreation after idle times (suitable for long running applications).
default 3
| Modifier and Type | Class and Description |
|---|---|
static class |
SharedRollingFileAppender.Builder<B extends SharedRollingFileAppender.Builder<B>> |
| Modifier and Type | Field and Description |
|---|---|
static String |
PLUGIN_NAME |
| Modifier and Type | Method and Description |
|---|---|
void |
append(org.apache.logging.log4j.core.LogEvent event) |
protected void |
doAppend(org.apache.logging.log4j.core.LogEvent event)
Writes the log entry rolling over the file when required.
|
String |
getFileName()
Returns the File name for the Appender.
|
String |
getFilePattern()
Returns the file pattern used when rolling over.
|
<T extends org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy> |
getTriggeringPolicy()
Returns the triggering policy.
|
static <B extends SharedRollingFileAppender.Builder<B>> |
newBuilder()
Creates a new Builder.
|
protected void |
processQueue() |
void |
rolloverComplete(String fileName) |
void |
rolloverTriggered(String fileName) |
boolean |
stop(long timeout,
TimeUnit timeUnit) |
directEncodeEvent, getImmediateFlush, getManager, start, stop, writeByteArrayToManagererror, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toStringaddFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilterequalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stoppublic static final String PLUGIN_NAME
protected void processQueue()
public void rolloverTriggered(String fileName)
rolloverTriggered in interface org.apache.logging.log4j.core.appender.rolling.RolloverListenerpublic void rolloverComplete(String fileName)
rolloverComplete in interface org.apache.logging.log4j.core.appender.rolling.RolloverListenerpublic boolean stop(long timeout,
TimeUnit timeUnit)
stop in interface org.apache.logging.log4j.core.LifeCycle2stop in class org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<org.apache.logging.log4j.core.appender.rolling.RollingFileManager>public void append(org.apache.logging.log4j.core.LogEvent event)
append in interface org.apache.logging.log4j.core.Appenderappend in class org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<org.apache.logging.log4j.core.appender.rolling.RollingFileManager>protected void doAppend(org.apache.logging.log4j.core.LogEvent event)
event - The LogEvent.public String getFileName()
public String getFilePattern()
public <T extends org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy> T getTriggeringPolicy()
T - TriggeringPolicy type@PluginBuilderFactory public static <B extends SharedRollingFileAppender.Builder<B>> B newBuilder()
Copyright © 2021. All rights reserved.