org.apache.log.format

Class PatternFormatter

Implemented Interfaces:
Formatter, Formatter
Known Direct Subclasses:
ExtendedPatternFormatter

public class PatternFormatter
extends java.lang.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 $
Authors:
Avalon Development Team
Peter Donald
Sylvain Wallez
Leif Mortenson

Nested Class Summary

protected static class
PatternFormatter.PatternRun

Field Summary

protected static int
MAX_TYPE
The maximum value used for TYPEs.

Constructor Summary

PatternFormatter()
Deprecated. Use constructor PatternFormatter(String pattern) as this does not correctly initialize object
PatternFormatter(String pattern)
Creation of a new patter formatter baseed on a supplied pattern.

Method Summary

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
getContext(ContextStack stack, String format)
Deprecated. Use getContextStack rather than this method
protected String
getContextMap(ContextMap map, String format)
Utility method to format context map.
protected String
getContextStack(ContextStack stack, String format)
Utility method to format context.
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.
void
setFormat(String format)
Deprecated. Parse format in via constructor rather than use this method

Field Details

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.
Field Value:
8

Constructor Details

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 Details

format

public String format(LogEvent event)
Format the event according to the pattern.
Specified by:
format in interface Formatter
format in interface Formatter
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