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
public class RollingFileManager extends FileManager
The Rolling File Manager.
-
-
Field Summary
Fields Modifier and Type Field Description protected long
size
-
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
Constructors Modifier Constructor Description 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.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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkRollover(LogEvent event)
Determines if a rollover should occur.protected void
createFileAfterRollover()
FileExtension
getFileExtension()
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.String
getFileName()
Returns the name of the File being managed.long
getFileSize()
Returns the current size of the file.long
getFileTime()
Returns the time the file was created.PatternProcessor
getPatternProcessor()
Returns the pattern processor.RolloverStrategy
getRolloverStrategy()
Returns the rollover strategy.<T extends TriggeringPolicy>
TgetTriggeringPolicy()
Returns the triggering policy.void
initialize()
boolean
isDirectWrite()
boolean
isRenameEmptyFiles()
boolean
releaseSub(long timeout, TimeUnit timeUnit)
Default hook to write footer during close.void
rollover()
void
rollover(Date prevFileTime, Date prevRollTime)
void
setPatternProcessor(PatternProcessor patternProcessor)
void
setRenameEmptyFiles(boolean renameEmptyFiles)
void
setRolloverStrategy(RolloverStrategy rolloverStrategy)
void
setTriggeringPolicy(TriggeringPolicy triggeringPolicy)
void
updateData(Object data)
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
-
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractManager
close, getCount, getLoggerContext, getManager, getName, hasManager, log, logDebug, logError, logger, logWarn, narrow, release, stop
-
-
-
-
Constructor Detail
-
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 Detail
-
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.
-
getFileName
public String getFileName()
Returns the name of the File being managed.- Overrides:
getFileName
in classFileManager
- Returns:
- The name of the File being managed.
-
isDirectWrite
public boolean isDirectWrite()
-
getFileExtension
public FileExtension 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
public void checkRollover(LogEvent event)
Determines if a rollover should occur.- Parameters:
event
- The LogEvent.
-
releaseSub
public boolean releaseSub(long timeout, TimeUnit timeUnit)
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
public void rollover()
-
createFileAfterRollover
protected void createFileAfterRollover() throws IOException
- Throws:
IOException
-
getPatternProcessor
public PatternProcessor getPatternProcessor()
Returns the pattern processor.- Returns:
- The PatternProcessor.
-
setTriggeringPolicy
public void setTriggeringPolicy(TriggeringPolicy triggeringPolicy)
-
setRolloverStrategy
public void setRolloverStrategy(RolloverStrategy rolloverStrategy)
-
setPatternProcessor
public void setPatternProcessor(PatternProcessor patternProcessor)
-
getTriggeringPolicy
public <T extends TriggeringPolicy> T getTriggeringPolicy()
Returns the triggering policy.- Type Parameters:
T
- TriggeringPolicy type- Returns:
- The TriggeringPolicy
-
getRolloverStrategy
public RolloverStrategy getRolloverStrategy()
Returns the rollover strategy.- Returns:
- The RolloverStrategy
-
updateData
public void updateData(Object data)
- Overrides:
updateData
in classAbstractManager
-
-