org.apache.log.format

Class ExtendedPatternFormatter

Implemented Interfaces:
Formatter

public class ExtendedPatternFormatter
extends PatternFormatter

Formatter especially designed for debugging applications. This formatter extends the standard PatternFormatter to add two new possible expansions. These expansions are %{method} and %{thread}. In both cases the context map is first checked for values with specified key. This is to facilitate passing information about caller/thread when threads change (as in AsyncLogTarget). They then attempt to determine appropriate information dynamically.
Version:
$Id: ExtendedPatternFormatter.java 30977 2004-07-30 03:57:54 -0500 (Fri, 30 Jul 2004) niclas $
Authors:
Avalon Development Team
Peter Donald

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.log.format.PatternFormatter

PatternFormatter.PatternRun

Field Summary

private static int
TYPE_METHOD
private static String
TYPE_METHOD_STR
private static int
TYPE_THREAD
private static String
TYPE_THREAD_STR
private int
m_callStackOffset

Fields inherited from class org.apache.log.format.PatternFormatter

EOL, MAX_TYPE, SPACE_1, SPACE_16, SPACE_2, SPACE_4, SPACE_8, TYPE_CATEGORY, TYPE_CATEGORY_STR, TYPE_CONTEXT, TYPE_CONTEXT_STR, TYPE_MESSAGE, TYPE_MESSAGE_STR, TYPE_PRIORITY, TYPE_PRIORITY_STR, TYPE_RELATIVE_TIME, TYPE_RELATIVE_TIME_STR, TYPE_TEXT, TYPE_THREAD, TYPE_THREAD_STR, TYPE_THROWABLE, TYPE_THROWABLE_STR, TYPE_TIME, TYPE_TIME_STR, m_date, m_formatSpecification, m_simpleDateFormat

Constructor Summary

ExtendedPatternFormatter(String format)
Creation of a new extended pattern formatter.
ExtendedPatternFormatter(String format, int callStackOffset)
Creation of a new extended pattern formatter.

Method Summary

protected String
formatPatternRun(LogEvent event, PatternFormatter.PatternRun run)
Formats a single pattern run (can be extended in subclasses).
private String
getMethod(LogEvent event)
Utility method to format category.
private String
getThread(LogEvent event)
Utility thread to format category.
protected int
getTypeIdFor(String type)
Retrieve the type-id for a particular string.

Methods inherited from class org.apache.log.format.PatternFormatter

addPatternRun, addTextRun, append, appendWhiteSpace, format, formatPatternRun, getCategory, getContextMap, getMessage, getPriority, getRTime, getStackTrace, getThread, getTime, getTypeIdFor, parse

Field Details

TYPE_METHOD

private static final int TYPE_METHOD
Field Value:
9

TYPE_METHOD_STR

private static final String TYPE_METHOD_STR

TYPE_THREAD

private static final int TYPE_THREAD
Field Value:
10

TYPE_THREAD_STR

private static final String TYPE_THREAD_STR

m_callStackOffset

private int m_callStackOffset

Constructor Details

ExtendedPatternFormatter

public ExtendedPatternFormatter(String format)
Creation of a new extended pattern formatter.
Parameters:
format - the format string

ExtendedPatternFormatter

public ExtendedPatternFormatter(String format,
                                int callStackOffset)
Creation of a new extended pattern formatter.
Parameters:
format - the format string
callStackOffset - the offset

Method Details

formatPatternRun

protected String formatPatternRun(LogEvent event,
                                  PatternFormatter.PatternRun run)
Formats a single pattern run (can be extended in subclasses).
Overrides:
formatPatternRun in interface PatternFormatter
Parameters:
event - the log event
run - the pattern run to format.
Returns:
the formatted result.

getMethod

private String getMethod(LogEvent event)
Utility method to format category.
Parameters:
event - the event
Returns:
the formatted string

getThread

private String getThread(LogEvent event)
Utility thread to format category.
Parameters:
event - the even
Returns:
the formatted string

getTypeIdFor

protected int getTypeIdFor(String type)
Retrieve the type-id for a particular string.
Overrides:
getTypeIdFor in interface PatternFormatter
Parameters:
type - the string
Returns:
the type-id