java.lang.Object
org.apache.logging.log4j.core.appender.rolling.action.IfLastModified
All Implemented Interfaces:
PathCondition

@Plugin(name="IfLastModified", category="Core", printObject=true) public final class IfLastModified extends Object implements PathCondition
PathCondition that accepts paths that are older than the specified duration.
  • Method Details

    • getAge

      public Duration getAge()
    • getNestedConditions

      public List<PathCondition> getNestedConditions()
    • accept

      public boolean accept(Path basePath, Path relativePath, BasicFileAttributes attrs)
      Description copied from interface: PathCondition
      Returns true if the specified candidate path should be deleted, false otherwise.
      Specified by:
      accept in interface PathCondition
      Parameters:
      basePath - the directory from where to start scanning for deletion candidate files
      relativePath - the candidate for deletion. This path is relative to the baseDir.
      attrs - attributes of the candidate path
      Returns:
      whether the candidate path should be deleted
    • beforeFileTreeWalk

      public void beforeFileTreeWalk()
      Description copied from interface: PathCondition
      Invoked before a new file tree walk is started. Stateful PathConditions can reset their state when this method is called.
      Specified by:
      beforeFileTreeWalk in interface PathCondition
    • createAgeCondition

      @PluginFactory public static IfLastModified createAgeCondition(@PluginAttribute("age") @Required(message="No age provided for IfLastModified") Duration age, @PluginElement("PathConditions") PathCondition... nestedConditions)
      Create an IfLastModified condition.
      Parameters:
      age - The path age that is accepted by this condition. Must be a valid Duration.
      nestedConditions - nested conditions to evaluate if this condition accepts a path
      Returns:
      An IfLastModified condition.
    • toString

      public String toString()
      Overrides:
      toString in class Object