|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.log.format.PatternFormatter
public class PatternFormatter
This formater formats the LogEvents according to a input pattern string.
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.
| Nested Class Summary | |
|---|---|
protected static class |
PatternFormatter.PatternRun
|
| Field Summary | |
|---|---|
private static String |
EOL
|
private Date |
m_date
|
private PatternFormatter.PatternRun[] |
m_formatSpecification
|
private SimpleDateFormat |
m_simpleDateFormat
|
protected static int |
MAX_TYPE
The maximum value used for TYPEs. |
private static String |
SPACE_1
|
private static String |
SPACE_16
|
private static String |
SPACE_2
|
private static String |
SPACE_4
|
private static String |
SPACE_8
|
private static int |
TYPE_CATEGORY
|
private static String |
TYPE_CATEGORY_STR
|
private static int |
TYPE_CONTEXT
|
private static String |
TYPE_CONTEXT_STR
|
private static int |
TYPE_MESSAGE
|
private static String |
TYPE_MESSAGE_STR
|
private static int |
TYPE_PRIORITY
|
private static String |
TYPE_PRIORITY_STR
|
private static int |
TYPE_RELATIVE_TIME
|
private static String |
TYPE_RELATIVE_TIME_STR
|
private static int |
TYPE_TEXT
|
private static int |
TYPE_THREAD
|
private static String |
TYPE_THREAD_STR
|
private static int |
TYPE_THROWABLE
|
private static String |
TYPE_THROWABLE_STR
|
private static int |
TYPE_TIME
|
private static String |
TYPE_TIME_STR
|
| Constructor Summary | |
|---|---|
PatternFormatter(String pattern)
Creation of a new patter formatter baseed on a supplied pattern. |
|
| Method Summary | |
|---|---|
private 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. |
String |
format(LogEvent event)
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 |
getRTime(long time,
String format)
Utility method to format relative time. |
protected String |
getStackTrace(Throwable throwable,
String format)
Utility method to format stack trace. |
protected String |
getThread(String format)
Get formatted thread string. |
protected String |
getTime(long time,
String format)
Utility method to format time. |
protected int |
getTypeIdFor(String type)
Retrieve the type-id for a particular string. |
protected void |
parse(String patternString)
Parse the input pattern and build internal data structures. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
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 String TYPE_CATEGORY_STR
private static final String TYPE_CONTEXT_STR
private static final String TYPE_MESSAGE_STR
private static final String TYPE_TIME_STR
private static final String TYPE_RELATIVE_TIME_STR
private static final String TYPE_THROWABLE_STR
private static final String TYPE_PRIORITY_STR
private static final String TYPE_THREAD_STR
private static final String SPACE_16
private static final String SPACE_8
private static final String SPACE_4
private static final String SPACE_2
private static final String SPACE_1
private static final String EOL
private PatternFormatter.PatternRun[] m_formatSpecification
private SimpleDateFormat m_simpleDateFormat
private final Date m_date
| Constructor Detail |
|---|
public PatternFormatter(String pattern)
pattern - the patter| Method Detail |
|---|
private int addPatternRun(Stack stack,
char[] pattern,
int index)
stack - the stack on which to place patternspattern - the input stringindex - the start of pattern run
private int addTextRun(Stack stack,
char[] pattern,
int index)
stack - the stack on which to place runspattern - the input stringindex - the start of the text run
private void append(StringBuffer sb,
int minSize,
int maxSize,
boolean rightJustify,
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 string
private void appendWhiteSpace(StringBuffer sb,
int length)
sb - the StringBufferlength - the number of spaces to appendpublic String format(LogEvent event)
format in interface Formatterevent - the event
protected String formatPatternRun(LogEvent event,
PatternFormatter.PatternRun run)
run - the pattern run to format.
protected String getCategory(String category,
String format)
category - the category stringformat - ancilliary format parameter - allowed to be null
protected String getPriority(Priority priority,
String format)
protected String getThread(String format)
protected String getContextMap(ContextMap map,
String format)
map - the context mapformat - ancilliary format parameter - allowed to be null
protected String getMessage(String message,
String format)
message - the message stringformat - ancilliary format parameter - allowed to be null
protected String getStackTrace(Throwable throwable,
String format)
throwable - the throwable instanceformat - ancilliary format parameter - allowed to be null
protected String getRTime(long time,
String format)
time - the timeformat - ancilliary format parameter - allowed to be null
protected String getTime(long time,
String format)
time - the timeformat - ancilliary format parameter - allowed to be null
protected int getTypeIdFor(String type)
type - the string
protected final void parse(String patternString)
patternString - the pattern
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||