public class PatternFormatter extends 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 and Description |
---|---|
protected static class |
PatternFormatter.PatternRun |
Modifier and Type | Field and Description |
---|---|
protected static int |
MAX_TYPE
The maximum value used for TYPEs.
|
Constructor and Description |
---|
PatternFormatter(String pattern)
Creation of a new patter formatter baseed on a supplied pattern.
|
Modifier and Type | Method and Description |
---|---|
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.
|
protected static final int MAX_TYPE
MAX_TYPE + 1
.public PatternFormatter(String pattern)
pattern
- the patterprotected 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 nullprotected String getPriority(Priority priority, String format)
protected String getContextMap(ContextMap map, String format)
map
- the context mapformat
- ancilliary format parameter - allowed to be nullprotected String getMessage(String message, String format)
message
- the message stringformat
- ancilliary format parameter - allowed to be nullprotected String getStackTrace(Throwable throwable, String format)
throwable
- the throwable instanceformat
- ancilliary format parameter - allowed to be nullprotected String getRTime(long time, String format)
time
- the timeformat
- ancilliary format parameter - allowed to be nullprotected String getTime(long time, String format)
time
- the timeformat
- ancilliary format parameter - allowed to be nullprotected int getTypeIdFor(String type)
type
- the stringprotected final void parse(String patternString)
patternString
- the patternCopyright © 1997–2022. All rights reserved.