Formatter
ExtendedPatternFormatter
public class PatternFormatter extends java.lang.Object implements Formatter
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.
Modifier and Type | Class | Description |
---|---|---|
protected static class |
PatternFormatter.PatternRun |
Modifier and Type | Field | Description |
---|---|---|
private static java.lang.String |
EOL |
|
private java.util.Date |
m_date |
|
private PatternFormatter.PatternRun[] |
m_formatSpecification |
|
private java.text.SimpleDateFormat |
m_simpleDateFormat |
|
protected static int |
MAX_TYPE |
The maximum value used for TYPEs.
|
private static java.lang.String |
SPACE_1 |
|
private static java.lang.String |
SPACE_16 |
|
private static java.lang.String |
SPACE_2 |
|
private static java.lang.String |
SPACE_4 |
|
private static java.lang.String |
SPACE_8 |
|
private static int |
TYPE_CATEGORY |
|
private static java.lang.String |
TYPE_CATEGORY_STR |
|
private static int |
TYPE_CONTEXT |
|
private static java.lang.String |
TYPE_CONTEXT_STR |
|
private static int |
TYPE_MESSAGE |
|
private static java.lang.String |
TYPE_MESSAGE_STR |
|
private static int |
TYPE_PRIORITY |
|
private static java.lang.String |
TYPE_PRIORITY_STR |
|
private static int |
TYPE_RELATIVE_TIME |
|
private static java.lang.String |
TYPE_RELATIVE_TIME_STR |
|
private static int |
TYPE_TEXT |
|
private static int |
TYPE_THREAD |
|
private static java.lang.String |
TYPE_THREAD_STR |
|
private static int |
TYPE_THROWABLE |
|
private static java.lang.String |
TYPE_THROWABLE_STR |
|
private static int |
TYPE_TIME |
|
private static java.lang.String |
TYPE_TIME_STR |
Constructor | Description |
---|---|
PatternFormatter(java.lang.String pattern) |
Creation of a new patter formatter baseed on a supplied pattern.
|
Modifier and Type | Method | Description |
---|---|---|
private int |
addPatternRun(java.util.Stack stack,
char[] pattern,
int index) |
Extract and build a pattern from input string.
|
private int |
addTextRun(java.util.Stack stack,
char[] pattern,
int index) |
Extract and build a text run from input string.
|
private void |
append(java.lang.StringBuffer sb,
int minSize,
int maxSize,
boolean rightJustify,
java.lang.String output) |
Utility to append a string to buffer given certain constraints.
|
private void |
appendWhiteSpace(java.lang.StringBuffer sb,
int length) |
Append a certain number of whitespace characters to a StringBuffer.
|
java.lang.String |
format(LogEvent event) |
Format the event according to the pattern.
|
protected java.lang.String |
formatPatternRun(LogEvent event,
PatternFormatter.PatternRun run) |
Formats a single pattern run (can be extended in subclasses).
|
protected java.lang.String |
getCategory(java.lang.String category,
java.lang.String format) |
Utility method to format category.
|
protected java.lang.String |
getContextMap(ContextMap map,
java.lang.String format) |
Utility method to format context map.
|
protected java.lang.String |
getMessage(java.lang.String message,
java.lang.String format) |
Utility method to format message.
|
protected java.lang.String |
getPriority(Priority priority,
java.lang.String format) |
Get formatted priority string.
|
protected java.lang.String |
getRTime(long time,
java.lang.String format) |
Utility method to format relative time.
|
protected java.lang.String |
getStackTrace(java.lang.Throwable throwable,
java.lang.String format) |
Utility method to format stack trace.
|
protected java.lang.String |
getThread(java.lang.String format) |
Get formatted thread string.
|
protected java.lang.String |
getTime(long time,
java.lang.String format) |
Utility method to format time.
|
protected int |
getTypeIdFor(java.lang.String type) |
Retrieve the type-id for a particular string.
|
protected void |
parse(java.lang.String patternString) |
Parse the input pattern and build internal data structures.
|
private static final int TYPE_TEXT
private static final int TYPE_CATEGORY
private static final int TYPE_CONTEXT
private static final int TYPE_MESSAGE
private static final int TYPE_TIME
private static final int TYPE_RELATIVE_TIME
private static final int TYPE_THROWABLE
private static final int TYPE_PRIORITY
private static final int TYPE_THREAD
protected static final int MAX_TYPE
MAX_TYPE + 1
.private static final java.lang.String TYPE_CATEGORY_STR
private static final java.lang.String TYPE_CONTEXT_STR
private static final java.lang.String TYPE_MESSAGE_STR
private static final java.lang.String TYPE_TIME_STR
private static final java.lang.String TYPE_RELATIVE_TIME_STR
private static final java.lang.String TYPE_THROWABLE_STR
private static final java.lang.String TYPE_PRIORITY_STR
private static final java.lang.String TYPE_THREAD_STR
private static final java.lang.String SPACE_16
private static final java.lang.String SPACE_8
private static final java.lang.String SPACE_4
private static final java.lang.String SPACE_2
private static final java.lang.String SPACE_1
private static final java.lang.String EOL
private PatternFormatter.PatternRun[] m_formatSpecification
private java.text.SimpleDateFormat m_simpleDateFormat
private final java.util.Date m_date
public PatternFormatter(java.lang.String pattern)
pattern
- the patterprivate int addPatternRun(java.util.Stack stack, char[] pattern, int index)
stack
- the stack on which to place patternspattern
- the input stringindex
- the start of pattern runprivate int addTextRun(java.util.Stack stack, char[] pattern, int index)
stack
- the stack on which to place runspattern
- the input stringindex
- the start of the text runprivate void append(java.lang.StringBuffer sb, int minSize, int maxSize, boolean rightJustify, java.lang.String output)
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 stringprivate void appendWhiteSpace(java.lang.StringBuffer sb, int length)
sb
- the StringBufferlength
- the number of spaces to appendpublic java.lang.String format(LogEvent event)
protected java.lang.String formatPatternRun(LogEvent event, PatternFormatter.PatternRun run)
run
- the pattern run to format.protected java.lang.String getCategory(java.lang.String category, java.lang.String format)
category
- the category stringformat
- ancilliary format parameter - allowed to be nullprotected java.lang.String getPriority(Priority priority, java.lang.String format)
protected java.lang.String getThread(java.lang.String format)
protected java.lang.String getContextMap(ContextMap map, java.lang.String format)
map
- the context mapformat
- ancilliary format parameter - allowed to be nullprotected java.lang.String getMessage(java.lang.String message, java.lang.String format)
message
- the message stringformat
- ancilliary format parameter - allowed to be nullprotected java.lang.String getStackTrace(java.lang.Throwable throwable, java.lang.String format)
throwable
- the throwable instanceformat
- ancilliary format parameter - allowed to be nullprotected java.lang.String getRTime(long time, java.lang.String format)
time
- the timeformat
- ancilliary format parameter - allowed to be nullprotected java.lang.String getTime(long time, java.lang.String format)
time
- the timeformat
- ancilliary format parameter - allowed to be nullprotected int getTypeIdFor(java.lang.String type)
type
- the stringprotected final void parse(java.lang.String patternString)
patternString
- the patternCopyright © 2003-2004 The Apache Software Foundation. All Rights Reserved.