Class RollingFileManager
java.lang.Object
org.apache.logging.log4j.core.appender.AbstractManager
org.apache.logging.log4j.core.appender.OutputStreamManager
org.apache.logging.log4j.core.appender.FileManager
org.apache.logging.log4j.core.appender.rolling.RollingFileManager
- All Implemented Interfaces:
AutoCloseable
,ByteBufferDestination
- Direct Known Subclasses:
RollingRandomAccessFileManager
The Rolling File Manager.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.logging.log4j.core.appender.AbstractManager
AbstractManager.AbstractFactoryData
-
Field Summary
Fields inherited from class org.apache.logging.log4j.core.appender.OutputStreamManager
byteBuffer, layout
Fields inherited from class org.apache.logging.log4j.core.appender.AbstractManager
count, LOGGER
-
Constructor Summary
ModifierConstructorDescriptionprotected
RollingFileManager
(String fileName, String pattern, OutputStream os, boolean append, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, boolean writeHeader, ByteBuffer buffer) Deprecated.protected
RollingFileManager
(String fileName, String pattern, OutputStream os, boolean append, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, int bufferSize, boolean writeHeader) Deprecated.protected
RollingFileManager
(LoggerContext loggerContext, String fileName, String pattern, OutputStream os, boolean append, boolean createOnDemand, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, boolean writeHeader, ByteBuffer buffer) Deprecated.protected
RollingFileManager
(LoggerContext loggerContext, String fileName, String pattern, OutputStream os, boolean append, boolean createOnDemand, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, String filePermissions, String fileOwner, String fileGroup, boolean writeHeader, ByteBuffer buffer) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addRolloverListener
(RolloverListener listener) Add a RolloverListener.void
checkRollover
(LogEvent event) Determines if a rollover should occur.protected void
protected void
createParentDir
(File file) static RollingFileManager
getFileManager
(String fileName, String pattern, boolean append, boolean bufferedIO, TriggeringPolicy policy, RolloverStrategy strategy, String advertiseURI, Layout<? extends Serializable> layout, int bufferSize, boolean immediateFlush, boolean createOnDemand, String filePermissions, String fileOwner, String fileGroup, Configuration configuration) Returns a RollingFileManager.Returns the name of the File being managed.long
Returns the current size of the file.long
Returns the time the file was created.Returns the pattern processor.Returns the rollover strategy.<T extends TriggeringPolicy>
TReturns the triggering policy.void
boolean
boolean
boolean
releaseSub
(long timeout, TimeUnit timeUnit) Default hook to write footer during close.void
removeRolloverListener
(RolloverListener listener) Remove a RolloverListener.void
rollover()
void
void
setPatternProcessor
(PatternProcessor patternProcessor) void
setRenameEmptyFiles
(boolean renameEmptyFiles) void
setRolloverStrategy
(RolloverStrategy rolloverStrategy) void
setTriggeringPolicy
(TriggeringPolicy triggeringPolicy) void
updateData
(Object data) Updates the RollingFileManager's data during a reconfiguration.protected void
write
(byte[] bytes, int offset, int length, boolean immediateFlush) Some output streams synchronize writes while others do not.protected void
writeToDestination
(byte[] bytes, int offset, int length) OverridesOutputStreamManager.writeToDestination(byte[], int, int)
to add support for file locking.Methods inherited from class org.apache.logging.log4j.core.appender.FileManager
createOutputStream, defineAttributeView, getBufferSize, getContentFormat, getFileGroup, getFileManager, getFileOwner, getFilePermissions, isAppend, isAttributeViewEnabled, isCreateOnDemand, isLocking
Methods inherited from class org.apache.logging.log4j.core.appender.OutputStreamManager
closeOutputStream, drain, flush, flushBuffer, flushDestination, getByteBuffer, getManager, getOutputStream, hasOutputStream, isOpen, setOutputStream, skipFooter, write, write, write, writeBytes, writeBytes, writeFooter, writeHeader
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractManager
close, getCount, getLoggerContext, getManager, getName, getStrSubstitutor, hasManager, log, logDebug, logError, logger, logWarn, narrow, release, stop
-
Field Details
-
size
protected long size
-
-
Constructor Details
-
RollingFileManager
@Deprecated protected RollingFileManager(String fileName, String pattern, OutputStream os, boolean append, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, int bufferSize, boolean writeHeader) Deprecated. -
RollingFileManager
@Deprecated protected RollingFileManager(String fileName, String pattern, OutputStream os, boolean append, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, boolean writeHeader, ByteBuffer buffer) Deprecated. -
RollingFileManager
@Deprecated protected RollingFileManager(LoggerContext loggerContext, String fileName, String pattern, OutputStream os, boolean append, boolean createOnDemand, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, boolean writeHeader, ByteBuffer buffer) Deprecated. -
RollingFileManager
protected RollingFileManager(LoggerContext loggerContext, String fileName, String pattern, OutputStream os, boolean append, boolean createOnDemand, long size, long initialTime, TriggeringPolicy triggeringPolicy, RolloverStrategy rolloverStrategy, String advertiseURI, Layout<? extends Serializable> layout, String filePermissions, String fileOwner, String fileGroup, boolean writeHeader, ByteBuffer buffer) - Since:
- 2.9
-
-
Method Details
-
initialize
public void initialize() -
getFileManager
public static RollingFileManager getFileManager(String fileName, String pattern, boolean append, boolean bufferedIO, TriggeringPolicy policy, RolloverStrategy strategy, String advertiseURI, Layout<? extends Serializable> layout, int bufferSize, boolean immediateFlush, boolean createOnDemand, String filePermissions, String fileOwner, String fileGroup, Configuration configuration) Returns a RollingFileManager.- Parameters:
fileName
- The file name.pattern
- The pattern for rolling file.append
- true if the file should be appended to.bufferedIO
- true if data should be buffered.policy
- The TriggeringPolicy.strategy
- The RolloverStrategy.advertiseURI
- the URI to use when advertising the filelayout
- The Layout.bufferSize
- buffer size to use if bufferedIO is trueimmediateFlush
- flush on every write or notcreateOnDemand
- true if you want to lazy-create the file (a.k.a. on-demand.)filePermissions
- File permissionsfileOwner
- File ownerfileGroup
- File groupconfiguration
- The configuration.- Returns:
- A RollingFileManager.
-
addRolloverListener
Add a RolloverListener.- Parameters:
listener
- The RolloverListener.
-
removeRolloverListener
Remove a RolloverListener.- Parameters:
listener
- The RolloverListener.
-
getFileName
Returns the name of the File being managed.- Overrides:
getFileName
in classFileManager
- Returns:
- The name of the File being managed.
-
createParentDir
- Overrides:
createParentDir
in classFileManager
-
isDirectWrite
public boolean isDirectWrite() -
getFileExtension
-
write
protected void write(byte[] bytes, int offset, int length, boolean immediateFlush) Description copied from class:OutputStreamManager
Some output streams synchronize writes while others do not. Synchronizing here insures that log events won't be intertwined.- Overrides:
write
in classFileManager
- Parameters:
bytes
- The serialized Log event.offset
- The offset into the byte array.length
- The number of bytes to write.immediateFlush
- flushes immediately after writing.
-
writeToDestination
protected void writeToDestination(byte[] bytes, int offset, int length) Description copied from class:FileManager
OverridesOutputStreamManager.writeToDestination(byte[], int, int)
to add support for file locking.- Overrides:
writeToDestination
in classFileManager
- Parameters:
bytes
- the array containing dataoffset
- from where to writelength
- how many bytes to write
-
isRenameEmptyFiles
public boolean isRenameEmptyFiles() -
setRenameEmptyFiles
public void setRenameEmptyFiles(boolean renameEmptyFiles) -
getFileSize
public long getFileSize()Returns the current size of the file.- Returns:
- The size of the file in bytes.
-
getFileTime
public long getFileTime()Returns the time the file was created.- Returns:
- The time the file was created.
-
checkRollover
Determines if a rollover should occur.- Parameters:
event
- The LogEvent.
-
releaseSub
Description copied from class:OutputStreamManager
Default hook to write footer during close.- Overrides:
releaseSub
in classOutputStreamManager
- Parameters:
timeout
- timeouttimeUnit
- timeout time unit- Returns:
- true if all resources were closed normally, false otherwise.
-
rollover
-
rollover
public void rollover() -
createFileAfterRollover
- Throws:
IOException
-
getPatternProcessor
Returns the pattern processor.- Returns:
- The PatternProcessor.
-
setTriggeringPolicy
-
setRolloverStrategy
-
setPatternProcessor
-
getTriggeringPolicy
Returns the triggering policy.- Type Parameters:
T
- TriggeringPolicy type- Returns:
- The TriggeringPolicy
-
getRolloverStrategy
Returns the rollover strategy.- Returns:
- The RolloverStrategy
-
updateData
Updates the RollingFileManager's data during a reconfiguration. This method should be considered private. It is not thread safe and calling it outside of a reconfiguration may lead to errors. This method may be made protected in a future release.- Overrides:
updateData
in classAbstractManager
- Parameters:
data
- The data to update.
-