Class PatternProcessor
- java.lang.Object
-
- org.apache.logging.log4j.core.appender.rolling.PatternProcessor
-
public class PatternProcessor extends java.lang.ObjectParses the rollover pattern.
-
-
Field Summary
Fields Modifier and Type Field Description private longcurrentFileTimeprivate static char[]DAY_CHARSprivate FileExtensionfileExtensionprivate RolloverFrequencyfrequencyprivate static char[]HOUR_CHARSprivate booleanisTimeBasedprivate static java.lang.StringKEYprotected static LoggerLOGGERprivate static charMILLIS_CHARprivate static charMINUTE_CHARprivate static charMONTH_CHARprivate longnextFileTimeprivate java.lang.Stringpatternprivate ArrayPatternConverter[]patternConvertersprivate FormattingInfo[]patternFieldsprivate longprevFileTimeprivate static charSECOND_CHARprivate java.util.TimeZonetimeZoneprivate static char[]WEEK_CHARSprivate static charYEAR_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 RolloverFrequencycalculateFrequency(java.lang.String pattern)private PatternParsercreatePatternParser()private longdebugGetNextTime(long nextTime)private java.lang.Stringformat(long time)voidformatFileName(java.lang.StringBuilder buf, boolean useCurrentTime, java.lang.Object obj)Format file name.protected voidformatFileName(java.lang.StringBuilder buf, java.lang.Object... objects)Formats file name.voidformatFileName(StrSubstitutor subst, java.lang.StringBuilder buf, boolean useCurrentTime, java.lang.Object obj)Formats file name.voidformatFileName(StrSubstitutor subst, java.lang.StringBuilder buf, java.lang.Object obj)Formats file name.longgetCurrentFileTime()FileExtensiongetFileExtension()RolloverFrequencygetFrequency()longgetNextFileTime()longgetNextTime(long currentMillis, int increment, boolean modulus)Returns the next potential rollover time.java.lang.StringgetPattern()ArrayPatternConverter[]getPatternConverters()FormattingInfo[]getPatternFields()longgetPrevFileTime()private voidincrement(java.util.Calendar cal, int type, int increment, boolean modulate)private booleanpatternContains(java.lang.String pattern, char character)private booleanpatternContains(java.lang.String pattern, char... chars)voidsetCurrentFileTime(long currentFileTime)voidsetPrevFileTime(long prevFileTime)voidsetTimeBased(boolean isTimeBased)java.lang.StringtoString()voidupdateTime()
-
-
-
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:
toStringin 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()
-
-