Class 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
    • Constructor Detail

      • DirectWriteRolloverStrategy

        @Deprecated
        protected DirectWriteRolloverStrategy​(int maxFiles,
                                              int compressionLevel,
                                              StrSubstitutor strSubstitutor,
                                              Action[] customActions,
                                              boolean stopCustomActionsOnError)
        Deprecated.
        Since 2.9 Added tempCompressedFilePatternString parameter
        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 rollover
        stopCustomActionsOnError - whether to stop executing asynchronous actions if an error occurs
      • DirectWriteRolloverStrategy

        protected DirectWriteRolloverStrategy​(int maxFiles,
                                              int compressionLevel,
                                              StrSubstitutor strSubstitutor,
                                              Action[] customActions,
                                              boolean stopCustomActionsOnError,
                                              java.lang.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 rollover
        stopCustomActionsOnError - whether to stop executing asynchronous actions if an error occurs
        tempCompressedFilePatternString - File pattern of the working file used during compression, if null no temporary file are used
    • Method Detail

      • createStrategy

        @Deprecated
        @PluginFactory
        public static DirectWriteRolloverStrategy createStrategy​(@PluginAttribute("maxFiles")
                                                                 java.lang.String maxFiles,
                                                                 @PluginAttribute("compressionLevel")
                                                                 java.lang.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 preferable
        Creates 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 rollover
        stopCustomActionsOnError - whether to stop executing asynchronous actions if an error occurs
        config - The Configuration.
        Returns:
        A DirectWriteRolloverStrategy.
      • getCompressionLevel

        public int getCompressionLevel()
      • getCustomActions

        public java.util.List<Action> getCustomActions()
      • getMaxFiles

        public int getMaxFiles()
      • isStopCustomActionsOnError

        public boolean isStopCustomActionsOnError()
      • getTempCompressedFilePattern

        public PatternProcessor getTempCompressedFilePattern()
      • rollover

        public RolloverDescription rollover​(RollingFileManager manager)
                                     throws java.lang.SecurityException
        Performs the rollover.
        Specified by:
        rollover in interface RolloverStrategy
        Parameters:
        manager - The RollingFileManager name for current active log file.
        Returns:
        A RolloverDescription.
        Throws:
        java.lang.SecurityException - if an error occurs.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object