Class PatternProcessor
- java.lang.Object
-
- org.apache.logging.log4j.core.appender.rolling.PatternProcessor
-
public class PatternProcessor extends java.lang.Object
Parses the rollover pattern.
-
-
Field Summary
Fields Modifier and Type Field Description private long
currentFileTime
private static char[]
DAY_CHARS
private FileExtension
fileExtension
private RolloverFrequency
frequency
private static char[]
HOUR_CHARS
private boolean
isTimeBased
private static java.lang.String
KEY
protected static Logger
LOGGER
private static char
MILLIS_CHAR
private static char
MINUTE_CHAR
private static char
MONTH_CHAR
private long
nextFileTime
private java.lang.String
pattern
private ArrayPatternConverter[]
patternConverters
private FormattingInfo[]
patternFields
private long
prevFileTime
private static char
SECOND_CHAR
private java.util.TimeZone
timeZone
private static char[]
WEEK_CHARS
private static char
YEAR_CHAR
-
Constructor Summary
Constructors Constructor Description PatternProcessor(java.lang.String pattern)
Constructor.PatternProcessor(java.lang.String pattern, PatternProcessor copy)
Copy constructor with another pattern as source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private RolloverFrequency
calculateFrequency(java.lang.String pattern)
private PatternParser
createPatternParser()
private long
debugGetNextTime(long nextTime)
private java.lang.String
format(long time)
void
formatFileName(java.lang.StringBuilder buf, boolean useCurrentTime, java.lang.Object obj)
Format file name.protected void
formatFileName(java.lang.StringBuilder buf, java.lang.Object... objects)
Formats file name.void
formatFileName(StrSubstitutor subst, java.lang.StringBuilder buf, boolean useCurrentTime, java.lang.Object obj)
Formats file name.void
formatFileName(StrSubstitutor subst, java.lang.StringBuilder buf, java.lang.Object obj)
Formats file name.long
getCurrentFileTime()
FileExtension
getFileExtension()
RolloverFrequency
getFrequency()
long
getNextFileTime()
long
getNextTime(long currentMillis, int increment, boolean modulus)
Returns the next potential rollover time.java.lang.String
getPattern()
ArrayPatternConverter[]
getPatternConverters()
FormattingInfo[]
getPatternFields()
long
getPrevFileTime()
private void
increment(java.util.Calendar cal, int type, int increment, boolean modulate)
private boolean
patternContains(java.lang.String pattern, char character)
private boolean
patternContains(java.lang.String pattern, char... chars)
void
setCurrentFileTime(long currentFileTime)
void
setPrevFileTime(long prevFileTime)
void
setTimeBased(boolean isTimeBased)
java.lang.String
toString()
void
updateTime()
-
-
-
Field Detail
-
LOGGER
protected static final Logger LOGGER
-
KEY
private static final java.lang.String KEY
- See Also:
- Constant Field Values
-
YEAR_CHAR
private static final char YEAR_CHAR
- See Also:
- Constant Field Values
-
MONTH_CHAR
private static final char MONTH_CHAR
- See Also:
- Constant Field Values
-
WEEK_CHARS
private static final char[] WEEK_CHARS
-
DAY_CHARS
private static final char[] DAY_CHARS
-
HOUR_CHARS
private static final char[] HOUR_CHARS
-
MINUTE_CHAR
private static final char MINUTE_CHAR
- See Also:
- Constant Field Values
-
SECOND_CHAR
private static final char SECOND_CHAR
- See Also:
- Constant Field Values
-
MILLIS_CHAR
private static final char MILLIS_CHAR
- See Also:
- Constant Field Values
-
patternConverters
private final ArrayPatternConverter[] patternConverters
-
patternFields
private final FormattingInfo[] patternFields
-
fileExtension
private final FileExtension fileExtension
-
prevFileTime
private long prevFileTime
-
nextFileTime
private long nextFileTime
-
currentFileTime
private long currentFileTime
-
isTimeBased
private boolean isTimeBased
-
frequency
private RolloverFrequency frequency
-
timeZone
private java.util.TimeZone timeZone
-
pattern
private final java.lang.String pattern
-
-
Constructor Detail
-
PatternProcessor
public PatternProcessor(java.lang.String pattern)
Constructor.- Parameters:
pattern
- The file pattern.
-
PatternProcessor
public PatternProcessor(java.lang.String pattern, PatternProcessor copy)
Copy constructor with another pattern as source.- Parameters:
pattern
- The file pattern.copy
- Source pattern processor
-
-
Method Detail
-
getPattern
public java.lang.String getPattern()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getPatternFields
public FormattingInfo[] getPatternFields()
-
getPatternConverters
public ArrayPatternConverter[] getPatternConverters()
-
setTimeBased
public void setTimeBased(boolean isTimeBased)
-
getCurrentFileTime
public long getCurrentFileTime()
-
setCurrentFileTime
public void setCurrentFileTime(long currentFileTime)
-
getPrevFileTime
public long getPrevFileTime()
-
setPrevFileTime
public void setPrevFileTime(long prevFileTime)
-
getFileExtension
public FileExtension getFileExtension()
-
getNextTime
public long getNextTime(long currentMillis, int increment, boolean modulus)
Returns the next potential rollover time.- Parameters:
currentMillis
- The current time.increment
- The increment to the next time.modulus
- If true the time will be rounded to occur on a boundary aligned with the increment.- Returns:
- the next potential rollover time and the timestamp for the target file.
-
updateTime
public void updateTime()
-
debugGetNextTime
private long debugGetNextTime(long nextTime)
-
format
private java.lang.String format(long time)
-
increment
private void increment(java.util.Calendar cal, int type, int increment, boolean modulate)
-
formatFileName
public final void formatFileName(java.lang.StringBuilder buf, boolean useCurrentTime, java.lang.Object obj)
Format file name.- Parameters:
buf
- string buffer to which formatted file name is appended, may not be null.obj
- object to be evaluated in formatting, may not be null.
-
formatFileName
public final void formatFileName(StrSubstitutor subst, java.lang.StringBuilder buf, java.lang.Object obj)
Formats file name.- Parameters:
subst
- The StrSubstitutor.buf
- string buffer to which formatted file name is appended, may not be null.obj
- object to be evaluated in formatting, may not be null.
-
formatFileName
public final void formatFileName(StrSubstitutor subst, java.lang.StringBuilder buf, boolean useCurrentTime, java.lang.Object obj)
Formats file name.- Parameters:
subst
- The StrSubstitutor.buf
- string buffer to which formatted file name is appended, may not be null.obj
- object to be evaluated in formatting, may not be null.
-
formatFileName
protected final void formatFileName(java.lang.StringBuilder buf, java.lang.Object... objects)
Formats file name.- Parameters:
buf
- string buffer to which formatted file name is appended, may not be null.objects
- objects to be evaluated in formatting, may not be null.
-
calculateFrequency
private RolloverFrequency calculateFrequency(java.lang.String pattern)
-
createPatternParser
private PatternParser createPatternParser()
-
patternContains
private boolean patternContains(java.lang.String pattern, char... chars)
-
patternContains
private boolean patternContains(java.lang.String pattern, char character)
-
getFrequency
public RolloverFrequency getFrequency()
-
getNextFileTime
public long getNextFileTime()
-
-