Class PatternFormatter
- All Implemented Interfaces:
Formatter
- Direct Known Subclasses:
ExtendedPatternFormatter
The format of each pattern element can be
%[+|-][#[.#]]{field:subformat}
.
The
+|-
indicates left or right justify.The
#.#
indicates the minimum and maximum size of output. You may omit the values and the field will be formatted without size restriction.
You may specify#
, or#.
to only define the minimum size.
You may specify.#
to only define the maximum size.field
indicates which field is to be output and must be one of properties of LogEvent. The following fields are currently supported:category Category value of the logging event. context Context value of the logging event. message Message value of the logging event. time Time value of the logging event. rtime Relative time value of the logging event. throwable Throwable value of the logging event. priority Priority value of the logging event. thread Name of the thread which logged the event. subformat
indicates a particular subformat to use on the specified field, and is currently only supported by:context Specifies the context map parameter name. time Specifies the pattern to be pass to SimpleDateFormat
to format the time.
A simple example of a typical PatternFormatter format would be:
%{time} %5.5{priority}[%-10.10{category}]: %{message}
This would produce a line like:
1000928827905 DEBUG [ junit]: Sample message
The format string specifies that the logger should first print the time value of the log event without size restriction, then the priority of the log event with a minimum and maximum size of 5, then the category of the log event right justified with a minimum and maximum size of 10, followed by the message of the log event without any size restriction.
- Version:
- $Id: PatternFormatter.java 30977 2004-07-30 03:57:54 -0500 (Fri, 30 Jul 2004) niclas $
- Author:
- Avalon Development Team, Peter Donald, Sylvain Wallez, Leif Mortenson
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private final Date
private PatternFormatter.PatternRun[]
private SimpleDateFormat
protected static final int
The maximum value used for TYPEs.private static final String
private static final String
private static final String
private static final String
private static final String
private static final int
private static final String
private static final int
private static final String
private static final int
private static final String
private static final int
private static final String
private static final int
private static final String
private static final int
private static final int
private static final String
private static final int
private static final String
private static final int
private static final String
-
Constructor Summary
ConstructorsConstructorDescriptionPatternFormatter
(String pattern) Creation of a new patter formatter baseed on a supplied pattern. -
Method Summary
Modifier and TypeMethodDescriptionprivate int
addPatternRun
(Stack stack, char[] pattern, int index) Extract and build a pattern from input string.private int
addTextRun
(Stack stack, char[] pattern, int index) Extract and build a text run from input string.private void
append
(StringBuffer sb, int minSize, int maxSize, boolean rightJustify, String output) Utility to append a string to buffer given certain constraints.private void
appendWhiteSpace
(StringBuffer sb, int length) Append a certain number of whitespace characters to a StringBuffer.Format the event according to the pattern.protected String
formatPatternRun
(LogEvent event, PatternFormatter.PatternRun run) Formats a single pattern run (can be extended in subclasses).protected String
getCategory
(String category, String format) Utility method to format category.protected String
getContextMap
(ContextMap map, String format) Utility method to format context map.protected String
getMessage
(String message, String format) Utility method to format message.protected String
getPriority
(Priority priority, String format) Get formatted priority string.protected String
Utility method to format relative time.protected String
getStackTrace
(Throwable throwable, String format) Utility method to format stack trace.protected String
Get formatted thread string.protected String
Utility method to format time.protected int
getTypeIdFor
(String type) Retrieve the type-id for a particular string.protected final void
Parse the input pattern and build internal data structures.
-
Field Details
-
TYPE_TEXT
private static final int TYPE_TEXT- See Also:
-
TYPE_CATEGORY
private static final int TYPE_CATEGORY- See Also:
-
TYPE_CONTEXT
private static final int TYPE_CONTEXT- See Also:
-
TYPE_MESSAGE
private static final int TYPE_MESSAGE- See Also:
-
TYPE_TIME
private static final int TYPE_TIME- See Also:
-
TYPE_RELATIVE_TIME
private static final int TYPE_RELATIVE_TIME- See Also:
-
TYPE_THROWABLE
private static final int TYPE_THROWABLE- See Also:
-
TYPE_PRIORITY
private static final int TYPE_PRIORITY- See Also:
-
TYPE_THREAD
private static final int TYPE_THREAD- See Also:
-
MAX_TYPE
protected static final int MAX_TYPEThe maximum value used for TYPEs. Subclasses can define their own TYPEs starting atMAX_TYPE + 1
.- See Also:
-
TYPE_CATEGORY_STR
- See Also:
-
TYPE_CONTEXT_STR
- See Also:
-
TYPE_MESSAGE_STR
- See Also:
-
TYPE_TIME_STR
- See Also:
-
TYPE_RELATIVE_TIME_STR
- See Also:
-
TYPE_THROWABLE_STR
- See Also:
-
TYPE_PRIORITY_STR
- See Also:
-
TYPE_THREAD_STR
- See Also:
-
SPACE_16
- See Also:
-
SPACE_8
- See Also:
-
SPACE_4
- See Also:
-
SPACE_2
- See Also:
-
SPACE_1
- See Also:
-
EOL
-
m_formatSpecification
-
m_simpleDateFormat
-
m_date
-
-
Constructor Details
-
PatternFormatter
Creation of a new patter formatter baseed on a supplied pattern.- Parameters:
pattern
- the patter
-
-
Method Details
-
addPatternRun
Extract and build a pattern from input string.- Parameters:
stack
- the stack on which to place patternspattern
- the input stringindex
- the start of pattern run- Returns:
- the number of characters in pattern run
-
addTextRun
Extract and build a text run from input string. It does special handling of '\n' and '\t' replaceing them with newline and tab.- Parameters:
stack
- the stack on which to place runspattern
- the input stringindex
- the start of the text run- Returns:
- the number of characters in run
-
append
Utility to append a string to buffer given certain constraints.- Parameters:
sb
- the StringBufferminSize
- the minimum size of output (0 to ignore)maxSize
- the maximum size of output (0 to ignore)rightJustify
- true if the string is to be right justified in it's box.output
- the input string
-
appendWhiteSpace
Append a certain number of whitespace characters to a StringBuffer.- Parameters:
sb
- the StringBufferlength
- the number of spaces to append
-
format
Format the event according to the pattern. -
formatPatternRun
Formats a single pattern run (can be extended in subclasses).- Parameters:
run
- the pattern run to format.- Returns:
- the formatted result.
-
getCategory
Utility method to format category.- Parameters:
category
- the category stringformat
- ancilliary format parameter - allowed to be null- Returns:
- the formatted string
-
getPriority
Get formatted priority string. -
getThread
Get formatted thread string. -
getContextMap
Utility method to format context map.- Parameters:
map
- the context mapformat
- ancilliary format parameter - allowed to be null- Returns:
- the formatted string
-
getMessage
Utility method to format message.- Parameters:
message
- the message stringformat
- ancilliary format parameter - allowed to be null- Returns:
- the formatted string
-
getStackTrace
Utility method to format stack trace.- Parameters:
throwable
- the throwable instanceformat
- ancilliary format parameter - allowed to be null- Returns:
- the formatted string
-
getRTime
Utility method to format relative time.- Parameters:
time
- the timeformat
- ancilliary format parameter - allowed to be null- Returns:
- the formatted string
-
getTime
Utility method to format time.- Parameters:
time
- the timeformat
- ancilliary format parameter - allowed to be null- Returns:
- the formatted string
-
getTypeIdFor
Retrieve the type-id for a particular string.- Parameters:
type
- the string- Returns:
- the type-id
-
parse
Parse the input pattern and build internal data structures.- Parameters:
patternString
- the pattern
-