@Plugin(name="RollingRandomAccessFile", category="Core", elementType="appender", printObject=true) public final class RollingRandomAccessFileAppender extends AbstractOutputStreamAppender<RollingRandomAccessFileManager>
Modifier and Type | Class and Description |
---|---|
static class |
RollingRandomAccessFileAppender.Builder<B extends RollingRandomAccessFileAppender.Builder<B>> |
LifeCycle.State
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
ELEMENT_TYPE
Modifier and Type | Method and Description |
---|---|
void |
append(LogEvent event)
Write the log entry rolling over the file when required.
|
static <B extends RollingRandomAccessFileAppender.Builder<B>> |
createAppender(String fileName,
String filePattern,
String append,
String name,
String immediateFlush,
String bufferSizeStr,
TriggeringPolicy policy,
RolloverStrategy strategy,
Layout<? extends Serializable> layout,
Filter filter,
String ignoreExceptions,
String advertise,
String advertiseURI,
Configuration configuration)
Deprecated.
Use
newBuilder() . |
int |
getBufferSize()
Returns the size of the file manager's buffer.
|
String |
getFileName()
Returns the File name for the Appender.
|
String |
getFilePattern()
Returns the file pattern used when rolling over.
|
static <B extends RollingRandomAccessFileAppender.Builder<B>> |
newBuilder() |
boolean |
stop(long timeout,
TimeUnit timeUnit)
Cleanup the Filter.
|
directEncodeEvent, getImmediateFlush, getManager, start, 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 boolean stop(long timeout, TimeUnit timeUnit)
AbstractFilterable
stop
in interface LifeCycle2
stop
in class AbstractOutputStreamAppender<RollingRandomAccessFileManager>
timeout
- the maximum time to waittimeUnit
- the time unit of the timeout argumentpublic void append(LogEvent event)
append
in interface Appender
append
in class AbstractOutputStreamAppender<RollingRandomAccessFileManager>
event
- The LogEvent.public String getFileName()
public String getFilePattern()
public int getBufferSize()
@Deprecated public static <B extends RollingRandomAccessFileAppender.Builder<B>> RollingRandomAccessFileAppender createAppender(String fileName, String filePattern, String append, String name, String immediateFlush, String bufferSizeStr, TriggeringPolicy policy, RolloverStrategy strategy, Layout<? extends Serializable> layout, Filter filter, String ignoreExceptions, String advertise, String advertiseURI, Configuration configuration)
newBuilder()
.fileName
- The name of the file that is actively written to.
(required).filePattern
- The pattern of the file name to use on rollover.
(required).append
- If true, events are appended to the file. If false, the
file is overwritten when opened. Defaults to "true"name
- The name of the Appender (required).immediateFlush
- When true, events are immediately flushed. Defaults
to "true".bufferSizeStr
- The buffer size, defaults to .policy
- The triggering policy. (required).strategy
- The rollover strategy. Defaults to
DefaultRolloverStrategy.layout
- The layout to use (defaults to the default PatternLayout).filter
- The Filter or null.ignoreExceptions
- If "true"
(default) exceptions encountered when appending events are logged; otherwise
they are propagated to the caller.advertise
- "true" if the appender configuration should be
advertised, "false" otherwise.advertiseURI
- The advertised URI which can be used to retrieve the
file contents.configuration
- The Configuration.@PluginBuilderFactory public static <B extends RollingRandomAccessFileAppender.Builder<B>> B newBuilder()
Copyright © 1999-2021 The Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.