net.wgen.op.logging
Class TraceLogger
java.lang.Object
org.apache.log4j.AppenderSkeleton
org.apache.log4j.WriterAppender
net.wgen.op.logging.TraceLogger
- All Implemented Interfaces:
- org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler
- public class TraceLogger
- extends org.apache.log4j.WriterAppender
- Version:
- $Id: TraceLogger.html,v 1.2 2007/01/28 04:09:37 paulfeuer Exp $
- Author:
- Paul Feuer, Wireless Generation, Inc.
| Fields inherited from class org.apache.log4j.WriterAppender |
encoding, immediateFlush, qw |
| Fields inherited from class org.apache.log4j.AppenderSkeleton |
closed, errorHandler, headFilter, layout, name, tailFilter, threshold |
|
Constructor Summary |
TraceLogger(java.lang.String key,
java.lang.String loggerPath)
|
| Methods inherited from class org.apache.log4j.WriterAppender |
activateOptions, append, checkEntryConditions, close, closeWriter, createWriter, getEncoding, getImmediateFlush, requiresLayout, reset, setEncoding, setErrorHandler, setImmediateFlush, setWriter, subAppend |
| Methods inherited from class org.apache.log4j.AppenderSkeleton |
addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setLayout, setName, setThreshold |
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_HEADER
private static final java.lang.String DEFAULT_HEADER
- See Also:
- Constant Field Values
DEFAULT_FOOTER
private static final java.lang.String DEFAULT_FOOTER
- See Also:
- Constant Field Values
SDF
private final java.text.SimpleDateFormat SDF
_traceWriter
private java.io.StringWriter _traceWriter
_key
private java.lang.String _key
_header
private java.lang.String _header
_footer
private java.lang.String _footer
_loggerPath
private final java.lang.String _loggerPath
_previousTrace
private java.lang.String _previousTrace
_loggers
private java.util.List _loggers
_startTime
private final long _startTime
_acceptFilter
private TraceLogger.TraceKeyFilter _acceptFilter
TraceLogger
public TraceLogger(java.lang.String key,
java.lang.String loggerPath)
supressAllMessages
public void supressAllMessages()
allowTraceKeyMessages
public void allowTraceKeyMessages()
init
protected void init()
setHeader
public void setHeader(java.lang.String header)
setFooter
public void setFooter(java.lang.String footer)
setPreviousTrace
public void setPreviousTrace(java.lang.String previousTrace)
- Sets a previous story in the case of forwarded requests. You should
look to see if a story already exists where you expect it to be, and
if it is there get the story from it and stuff it in here. In see,
I use:
long stamp = ( _staticStateStamp = ( _staticStateStamp + 1 ) % 10000 );
String requestKey = getAmpSession().getAmpUserSid() + "-" + stamp;
RequestStoryLogger requestStoryLogger = new RequestStoryLogger( requestKey,
REQUEST_STORY_LOGGER_PATH );
LOG.debug( "requestStoryLogger created for key " + requestKey );
// check for previous story
RequestStoryLogger previousStoryLogger = (RequestStoryLogger) getValue( "story", null );
if( previousStoryLogger != null )
{
String previousTrace = previousStoryLogger.getStory();
requestStoryLogger.setPreviousTrace( previousTrace );
}
setOutParameter( "story", requestStoryLogger );
- Parameters:
previousTrace -
addUnformattedMessage
public void addUnformattedMessage(java.lang.String message)
- Parameters:
message -
writeHeader
public void writeHeader()
- Writes a header to the story.
writeFooter
public void writeFooter()
- Writes a footer to the story.
getKey
public java.lang.String getKey()
- The request key on which the logger will filter.
- Returns:
- the request key on which the logger will filter.
getTrace
public java.lang.String getTrace()
- The accumulated log statements specific to a request which
this logger has caught. Calling this method also closes the
Logger, flushes and closes the log writer, and removes it from
the LogManager.
- Returns:
- the story of this request