Class IfFileName
java.lang.Object
org.apache.logging.log4j.core.appender.rolling.action.IfFileName
- All Implemented Interfaces:
PathCondition
@Plugin(name="IfFileName",
category="Core",
printObject=true)
public final class IfFileName
extends Object
implements PathCondition
PathCondition that accepts files for deletion if their relative path matches either a glob pattern or a regular
expression. If both a regular expression and a glob pattern are specified the glob pattern is used and the regular
expression is ignored.
The regular expression is a pattern as defined by the Pattern class. A glob is a simplified pattern
expression described in FileSystem.getPathMatcher(String).
-
Field Summary
Fields inherited from interface org.apache.logging.log4j.core.appender.rolling.action.PathCondition
EMPTY_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccept(Path basePath, Path relativePath, BasicFileAttributes attrs) Returnstrueif the specified candidate path should be deleted,falseotherwise.voidInvoked before a new file tree walk is started.static IfFileNamecreateNameCondition(String glob, String regex, PathCondition... nestedConditions) Creates a IfFileName condition that returns true if either the specified glob pattern or the regular expression matches the relative path.Returns the baseDir-relative path pattern of the files to delete.toString()
-
Method Details
-
getSyntaxAndPattern
Returns the baseDir-relative path pattern of the files to delete. The returned string takes the formsyntax:patternwhere syntax is one of "glob" or "regex" and the pattern is either a regular expression or a simplified pattern expression described under "glob" inFileSystem.getPathMatcher(String).- Returns:
- relative path of the file(s) to delete (may contain regular expression or wildcarts)
-
getNestedConditions
-
accept
Description copied from interface:PathConditionReturnstrueif the specified candidate path should be deleted,falseotherwise.- Specified by:
acceptin interfacePathCondition- Parameters:
basePath- the directory from where to start scanning for deletion candidate filesrelativePath- 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:PathConditionInvoked before a new file tree walk is started. Stateful PathConditions can reset their state when this method is called.- Specified by:
beforeFileTreeWalkin interfacePathCondition
-
createNameCondition
@PluginFactory public static IfFileName createNameCondition(@PluginAttribute("glob") String glob, @PluginAttribute("regex") String regex, @PluginElement("PathConditions") PathCondition... nestedConditions) Creates a IfFileName condition that returns true if either the specified glob pattern or the regular expression matches the relative path. If both a regular expression and a glob pattern are specified the glob pattern is used and the regular expression is ignored.- Parameters:
glob- the baseDir-relative path pattern of the files to delete (may contain '*' and '?' wildcarts)regex- the regular expression that matches the baseDir-relative path of the file(s) to deletenestedConditions- nested conditions to evaluate if this condition accepts a path- Returns:
- A IfFileName condition.
- See Also:
-
toString
-