org.apache.log.format

Class PatternFormatter

public class PatternFormatter extends Object implements Formatter, Formatter

This formater formats the LogEvents according to a input pattern string.

The format of each pattern element can be %[+|-][#[.#]]{field:subformat}.

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: CVS $Revision: 1.38 $ $Date: 2003/02/09 23:33:22 $

Author: Avalon Development Team Peter Donald Sylvain Wallez Leif Mortenson

Nested Class Summary
protected static classPatternFormatter.PatternRun
Field Summary
protected static intMAX_TYPE
The maximum value used for TYPEs.
Constructor Summary
PatternFormatter()
PatternFormatter(String pattern)
Creation of a new patter formatter baseed on a supplied pattern.
Method Summary
Stringformat(LogEvent event)
Format the event according to the pattern.
protected StringformatPatternRun(LogEvent event, PatternFormatter.PatternRun run)
Formats a single pattern run (can be extended in subclasses).
protected StringgetCategory(String category, String format)
Utility method to format category.
protected StringgetContext(ContextStack stack, String format)
Utility method to format context.
protected StringgetContextMap(ContextMap map, String format)
Utility method to format context map.
protected StringgetContextStack(ContextStack stack, String format)
Utility method to format context.
protected StringgetMessage(String message, String format)
Utility method to format message.
protected StringgetPriority(Priority priority, String format)
Get formatted priority string.
protected StringgetRTime(long time, String format)
Utility method to format relative time.
protected StringgetStackTrace(Throwable throwable, String format)
Utility method to format stack trace.
protected StringgetThread(String format)
Get formatted thread string.
protected StringgetTime(long time, String format)
Utility method to format time.
protected intgetTypeIdFor(String type)
Retrieve the type-id for a particular string.
protected voidparse(String patternString)
Parse the input pattern and build internal data structures.
voidsetFormat(String format)
Set the string description that the format is extracted from.

Field Detail

MAX_TYPE

protected static final int MAX_TYPE
The maximum value used for TYPEs. Subclasses can define their own TYPEs starting at MAX_TYPE + 1.

Constructor Detail

PatternFormatter

public PatternFormatter()

Deprecated: Use constructor PatternFormatter(String pattern) as this does not correctly initialize object

PatternFormatter

public PatternFormatter(String pattern)
Creation of a new patter formatter baseed on a supplied pattern.

Parameters: pattern the patter

Method Detail

format

public String format(LogEvent event)
Format the event according to the pattern.

Parameters: event the event

Returns: the formatted output

formatPatternRun

protected String formatPatternRun(LogEvent event, PatternFormatter.PatternRun run)
Formats a single pattern run (can be extended in subclasses).

Parameters: run the pattern run to format.

Returns: the formatted result.

getCategory

protected String getCategory(String category, String format)
Utility method to format category.

Parameters: category the category string format ancilliary format parameter - allowed to be null

Returns: the formatted string

getContext

protected String getContext(ContextStack stack, String format)

Deprecated: Use getContextStack rather than this method

Utility method to format context.

Parameters: stack the context stack format ancilliary format parameter - allowed to be null

Returns: the formatted string

getContextMap

protected String getContextMap(ContextMap map, String format)
Utility method to format context map.

Parameters: map the context map format ancilliary format parameter - allowed to be null

Returns: the formatted string

getContextStack

protected String getContextStack(ContextStack stack, String format)
Utility method to format context.

Parameters: stack the context stack format ancilliary format parameter - allowed to be null

Returns: the formatted string

getMessage

protected String getMessage(String message, String format)
Utility method to format message.

Parameters: message the message string format ancilliary format parameter - allowed to be null

Returns: the formatted string

getPriority

protected String getPriority(Priority priority, String format)
Get formatted priority string.

getRTime

protected String getRTime(long time, String format)
Utility method to format relative time.

Parameters: time the time format ancilliary format parameter - allowed to be null

Returns: the formatted string

getStackTrace

protected String getStackTrace(Throwable throwable, String format)
Utility method to format stack trace.

Parameters: throwable the throwable instance format ancilliary format parameter - allowed to be null

Returns: the formatted string

getThread

protected String getThread(String format)
Get formatted thread string.

getTime

protected String getTime(long time, String format)
Utility method to format time.

Parameters: time the time format ancilliary format parameter - allowed to be null

Returns: the formatted string

getTypeIdFor

protected int getTypeIdFor(String type)
Retrieve the type-id for a particular string.

Parameters: type the string

Returns: the type-id

parse

protected final void parse(String patternString)
Parse the input pattern and build internal data structures.

Parameters: patternString the pattern

setFormat

public void setFormat(String format)

Deprecated: Parse format in via constructor rather than use this method

Set the string description that the format is extracted from.

Parameters: format the string format