All Implemented Interfaces:
Runnable, Action

@Plugin(name="Delete", category="Core", printObject=true) public class DeleteAction extends AbstractPathAction
Rollover or scheduled action for deleting old log files that are accepted by the specified PathFilters.
  • Method Details

    • execute

      public boolean execute() throws IOException
      Description copied from class: AbstractAction
      Performs action.
      Specified by:
      execute in interface Action
      Overrides:
      execute in class AbstractPathAction
      Returns:
      true if successful.
      Throws:
      IOException - if IO error.
    • delete

      protected void delete(Path path) throws IOException
      Deletes the specified file.
      Parameters:
      path - the file to delete
      Throws:
      IOException - if a problem occurred deleting the file
    • execute

      public boolean execute(FileVisitor<Path> visitor) throws IOException
      Overrides:
      execute in class AbstractPathAction
      Throws:
      IOException
    • isTestMode

      public boolean isTestMode()
      Returns true if files are not deleted even when all conditions accept a path, false otherwise.
      Returns:
      true if files are not deleted even when all conditions accept a path, false otherwise
    • createFileVisitor

      protected FileVisitor<Path> createFileVisitor(Path visitorBaseDir, List<PathCondition> conditions)
      Description copied from class: AbstractPathAction
      Creates a new FileVisitor<Path> to pass to the Files.walkFileTree(Path, Set, int, FileVisitor) method when the AbstractPathAction.execute() method is invoked.

      The visitor is responsible for processing the files it encounters that are accepted by all filters.

      Specified by:
      createFileVisitor in class AbstractPathAction
      Parameters:
      visitorBaseDir - base dir from where to start scanning for files to process
      conditions - filters that determine if a file should be processed
      Returns:
      a new FileVisitor<Path>
    • createDeleteAction

      @PluginFactory public static DeleteAction createDeleteAction(@PluginAttribute("basePath") String basePath, @PluginAttribute("followLinks") boolean followLinks, @PluginAttribute(value="maxDepth",defaultInt=1) int maxDepth, @PluginAttribute("testMode") boolean testMode, @PluginElement("PathSorter") PathSorter sorterParameter, @PluginElement("PathConditions") PathCondition[] pathConditions, @PluginElement("ScriptCondition") ScriptCondition scriptCondition, @PluginConfiguration Configuration config)
      Create a DeleteAction.
      Parameters:
      basePath - base path from where to start scanning for files to delete.
      followLinks - whether to follow symbolic links. Default is false.
      maxDepth - The maxDepth parameter is the maximum number of levels of directories to visit. A value of 0 means that only the starting file is visited, unless denied by the security manager. A value of MAX_VALUE may be used to indicate that all levels should be visited.
      testMode - if true, files are not deleted but instead a message is printed to the status logger at INFO level. Users can use this to do a dry run to test if their configuration works as expected. Default is false.
      sorterParameter - a plugin implementing the PathSorter interface
      pathConditions - an array of path conditions (if more than one, they all need to accept a path before it is deleted).
      config - The Configuration.
      Returns:
      A DeleteAction.