Class DirectWriteRolloverStrategy
java.lang.Object
org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy
org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy
- All Implemented Interfaces:
DirectFileRolloverStrategy,RolloverStrategy
@Plugin(name="DirectWriteRolloverStrategy",
category="Core",
printObject=true)
public class DirectWriteRolloverStrategy
extends AbstractRolloverStrategy
implements DirectFileRolloverStrategy
When rolling over,
DirectWriteRolloverStrategy writes directly to the file as resolved by the file
pattern. Files will be renamed files according to an algorithm as described below.
The DirectWriteRolloverStrategy uses similar logic as DefaultRolloverStrategy to determine the file name based on the file pattern, however the DirectWriteRolloverStrategy writes directly to a file and does not rename it during rollover, except if it is compressed, in which case it will add the appropriate file extension.
- Since:
- 2.8
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilds DirectWriteRolloverStrategy instances. -
Field Summary
Fields inherited from class org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy
LOGGER, PATTERN_COUNTER, strSubstitutor -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDirectWriteRolloverStrategy(int maxFiles, int compressionLevel, StrSubstitutor strSubstitutor, Action[] customActions, boolean stopCustomActionsOnError) Deprecated.Since 2.9 Added tempCompressedFilePatternString parameterprotectedDirectWriteRolloverStrategy(int maxFiles, int compressionLevel, StrSubstitutor strSubstitutor, Action[] customActions, boolean stopCustomActionsOnError, String tempCompressedFilePatternString) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidstatic DirectWriteRolloverStrategycreateStrategy(String maxFiles, String compressionLevelStr, Action[] customActions, boolean stopCustomActionsOnError, Configuration config) Deprecated.Since 2.9 Usage of Builder API is preferableintgetCurrentFileName(RollingFileManager manager) intbooleanrollover(RollingFileManager manager) Performs the rollover.toString()Methods inherited from class org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy
getEligibleFiles, getEligibleFiles, getEligibleFiles, getEligibleFiles, getEligibleFiles, getStrSubstitutor, merge, suffixLength
-
Constructor Details
-
DirectWriteRolloverStrategy
@Deprecated protected DirectWriteRolloverStrategy(int maxFiles, int compressionLevel, StrSubstitutor strSubstitutor, Action[] customActions, boolean stopCustomActionsOnError) Deprecated.Since 2.9 Added tempCompressedFilePatternString parameterConstructs a new instance.- Parameters:
maxFiles- The maximum number of files that match the date portion of the pattern to keep.customActions- custom actions to perform asynchronously after rolloverstopCustomActionsOnError- whether to stop executing asynchronous actions if an error occurs
-
DirectWriteRolloverStrategy
protected DirectWriteRolloverStrategy(int maxFiles, int compressionLevel, StrSubstitutor strSubstitutor, Action[] customActions, boolean stopCustomActionsOnError, String tempCompressedFilePatternString) Constructs a new instance.- Parameters:
maxFiles- The maximum number of files that match the date portion of the pattern to keep.customActions- custom actions to perform asynchronously after rolloverstopCustomActionsOnError- whether to stop executing asynchronous actions if an error occurstempCompressedFilePatternString- File pattern of the working file used during compression, if null no temporary file are used
-
-
Method Details
-
newBuilder
-
createStrategy
@Deprecated @PluginFactory public static DirectWriteRolloverStrategy createStrategy(@PluginAttribute("maxFiles") String maxFiles, @PluginAttribute("compressionLevel") String compressionLevelStr, @PluginElement("Actions") Action[] customActions, @PluginAttribute(value="stopCustomActionsOnError",defaultBoolean=true) boolean stopCustomActionsOnError, @PluginConfiguration Configuration config) Deprecated.Since 2.9 Usage of Builder API is preferableCreates the DirectWriteRolloverStrategy.- Parameters:
maxFiles- The maximum number of files that match the date portion of the pattern to keep.compressionLevelStr- The compression level, 0 (less) through 9 (more); applies only to ZIP files.customActions- custom actions to perform asynchronously after rolloverstopCustomActionsOnError- whether to stop executing asynchronous actions if an error occursconfig- The Configuration.- Returns:
- A DirectWriteRolloverStrategy.
-
getCompressionLevel
public int getCompressionLevel() -
getCustomActions
-
getMaxFiles
public int getMaxFiles() -
isStopCustomActionsOnError
public boolean isStopCustomActionsOnError() -
getTempCompressedFilePattern
-
getCurrentFileName
- Specified by:
getCurrentFileNamein interfaceDirectFileRolloverStrategy
-
clearCurrentFileName
public void clearCurrentFileName()- Specified by:
clearCurrentFileNamein interfaceDirectFileRolloverStrategy
-
rollover
Performs the rollover.- Specified by:
rolloverin interfaceRolloverStrategy- Parameters:
manager- The RollingFileManager name for current active log file.- Returns:
- A RolloverDescription.
- Throws:
SecurityException- if an error occurs.
-
toString
-