org.apache.log.format
Class ExtendedPatternFormatter

java.lang.Object
  extended by org.apache.log.format.PatternFormatter
      extended by org.apache.log.format.ExtendedPatternFormatter
All 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 506267 2007-02-12 04:06:06Z crossley $
Author:
Avalon Development Team, Peter Donald

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.log.format.PatternFormatter
PatternFormatter.PatternRun
 
Field Summary
private  int m_callStackOffset
           
private static int TYPE_METHOD
           
private static java.lang.String TYPE_METHOD_STR
           
private static int TYPE_THREAD
           
private static java.lang.String TYPE_THREAD_STR
           
 
Fields inherited from class org.apache.log.format.PatternFormatter
MAX_TYPE
 
Constructor Summary
ExtendedPatternFormatter(java.lang.String format)
          Creation of a new extended pattern formatter.
ExtendedPatternFormatter(java.lang.String format, int callStackOffset)
          Creation of a new extended pattern formatter.
 
Method Summary
protected  java.lang.String formatPatternRun(LogEvent event, PatternFormatter.PatternRun run)
          Formats a single pattern run (can be extended in subclasses).
private  java.lang.String getMethod(LogEvent event)
          Utility method to format category.
private  java.lang.String getThread(LogEvent event)
          Utility thread to format category.
protected  int getTypeIdFor(java.lang.String type)
          Retrieve the type-id for a particular string.
 
Methods inherited from class org.apache.log.format.PatternFormatter
format, getCategory, getContextMap, getMessage, getPriority, getRTime, getStackTrace, getThread, getTime, parse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_METHOD

private static final int TYPE_METHOD
See Also:
Constant Field Values

TYPE_THREAD

private static final int TYPE_THREAD
See Also:
Constant Field Values

TYPE_METHOD_STR

private static final java.lang.String TYPE_METHOD_STR
See Also:
Constant Field Values

TYPE_THREAD_STR

private static final java.lang.String TYPE_THREAD_STR
See Also:
Constant Field Values

m_callStackOffset

private int m_callStackOffset
Constructor Detail

ExtendedPatternFormatter

public ExtendedPatternFormatter(java.lang.String format)
Creation of a new extended pattern formatter.

Parameters:
format - the format string

ExtendedPatternFormatter

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

Parameters:
format - the format string
callStackOffset - the offset
Method Detail

getTypeIdFor

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

Overrides:
getTypeIdFor in class PatternFormatter
Parameters:
type - the string
Returns:
the type-id

formatPatternRun

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

Overrides:
formatPatternRun in class PatternFormatter
Parameters:
event - the log event
run - the pattern run to format.
Returns:
the formatted result.

getMethod

private java.lang.String getMethod(LogEvent event)
Utility method to format category.

Parameters:
event - the event
Returns:
the formatted string

getThread

private java.lang.String getThread(LogEvent event)
Utility thread to format category.

Parameters:
event - the even
Returns:
the formatted string