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 longsize-
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 protectedRollingFileManager(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.protectedRollingFileManager(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.protectedRollingFileManager(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.protectedRollingFileManager(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 voidaddRolloverListener(RolloverListener listener)Add a RolloverListener.voidcheckRollover(LogEvent event)Determines if a rollover should occur.protected voidcreateFileAfterRollover()protected voidcreateParentDir(File file)FileExtensiongetFileExtension()static RollingFileManagergetFileManager(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.StringgetFileName()Returns the name of the File being managed.longgetFileSize()Returns the current size of the file.longgetFileTime()Returns the time the file was created.PatternProcessorgetPatternProcessor()Returns the pattern processor.RolloverStrategygetRolloverStrategy()Returns the rollover strategy.<T extends TriggeringPolicy>
TgetTriggeringPolicy()Returns the triggering policy.voidinitialize()booleanisDirectWrite()booleanisRenameEmptyFiles()booleanreleaseSub(long timeout, TimeUnit timeUnit)Default hook to write footer during close.voidremoveRolloverListener(RolloverListener listener)Remove a RolloverListener.voidrollover()voidrollover(Date prevFileTime, Date prevRollTime)voidsetPatternProcessor(PatternProcessor patternProcessor)voidsetRenameEmptyFiles(boolean renameEmptyFiles)voidsetRolloverStrategy(RolloverStrategy rolloverStrategy)voidsetTriggeringPolicy(TriggeringPolicy triggeringPolicy)voidupdateData(Object data)Updates the RollingFileManager's data during a reconfiguration.protected voidwrite(byte[] bytes, int offset, int length, boolean immediateFlush)Some output streams synchronize writes while others do not.protected voidwriteToDestination(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, 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.
-
addRolloverListener
public void addRolloverListener(RolloverListener listener)
Add a RolloverListener.- Parameters:
listener- The RolloverListener.
-
removeRolloverListener
public void removeRolloverListener(RolloverListener listener)
Remove a RolloverListener.- Parameters:
listener- The RolloverListener.
-
getFileName
public String getFileName()
Returns the name of the File being managed.- Overrides:
getFileNamein classFileManager- Returns:
- The name of the File being managed.
-
createParentDir
protected void createParentDir(File file)
- Overrides:
createParentDirin classFileManager
-
isDirectWrite
public boolean isDirectWrite()
-
getFileExtension
public FileExtension getFileExtension()
-
write
protected void write(byte[] bytes, int offset, int length, boolean immediateFlush)Description copied from class:OutputStreamManagerSome output streams synchronize writes while others do not. Synchronizing here insures that log events won't be intertwined.- Overrides:
writein 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:FileManagerOverridesOutputStreamManager.writeToDestination(byte[], int, int)to add support for file locking.- Overrides:
writeToDestinationin 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:OutputStreamManagerDefault hook to write footer during close.- Overrides:
releaseSubin 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)
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:
updateDatain classAbstractManager- Parameters:
data- The data to update.
-
-