org.apache.log4j.lf5

Class LogRecord

Implemented Interfaces:
Serializable
Known Direct Subclasses:
Log4JLogRecord

public abstract class LogRecord
extends Object
implements Serializable

LogRecord. A LogRecord encapsulates the details of your desired log request.
Authors:
Michael J. Sikorsky
Robert Shaw
See Also:
Serialized Form

Field Summary

protected String
_category
protected LogLevel
_level
protected String
_location
protected String
_message
protected long
_millis
protected String
_ndc
protected static long
_seqCount
protected long
_sequenceNumber
protected String
_thread
protected Throwable
_thrown
protected String
_thrownStackTrace

Constructor Summary

LogRecord()

Method Summary

String
getCategory()
Get the category asscociated with this LogRecord.
LogLevel
getLevel()
Get the level of this LogRecord.
String
getLocation()
Get the location in code where this LogRecord originated.
String
getMessage()
Get the message asscociated with this LogRecord.
long
getMillis()
Get the event time of this record in milliseconds from 1970.
String
getNDC()
Get the NDC (nested diagnostic context) for this record.
protected static long
getNextId()
long
getSequenceNumber()
Get the sequence number associated with this LogRecord.
String
getThreadDescription()
Get the thread description asscociated with this LogRecord.
Throwable
getThrown()
Get the Throwable associated with this LogRecord.
String
getThrownStackTrace()
Get the stack trace in a String-based format for the associated Throwable of this LogRecord.
boolean
hasThrown()
boolean
isFatal()
abstract boolean
isSevereLevel()
Abstract method.
static void
resetSequenceNumber()
Resets that sequence number to 0.
void
setCategory(String category)
Set the category associated with this LogRecord.
void
setLevel(LogLevel level)
Set the level of this LogRecord.
void
setLocation(String location)
Set the location in code where this LogRecord originated.
void
setMessage(String message)
Set the message associated with this LogRecord.
void
setMillis(long millis)
Set the event time of this record.
void
setNDC(String ndc)
Set the NDC (nested diagnostic context) for this record.
void
setSequenceNumber(long number)
Set the sequence number assocsiated with this LogRecord.
void
setThreadDescription(String threadDescription)
Set the thread description associated with this LogRecord.
void
setThrown(Throwable thrown)
Set the Throwable associated with this LogRecord.
void
setThrownStackTrace(String trace)
Set the ThrownStackTrace for the log record.
String
toString()
Return a String representation of this LogRecord.

Field Details

_category

protected String _category

_level

protected LogLevel _level

_location

protected String _location

_message

protected String _message

_millis

protected long _millis

_ndc

protected String _ndc

_seqCount

protected static long _seqCount

_sequenceNumber

protected long _sequenceNumber

_thread

protected String _thread

_thrown

protected Throwable _thrown

_thrownStackTrace

protected String _thrownStackTrace

Constructor Details

LogRecord

public LogRecord()

Method Details

getCategory

public String getCategory()
Get the category asscociated with this LogRecord. For a more detailed description of what a category is see setCategory().
Returns:
The category of this record.

getLevel

public LogLevel getLevel()
Get the level of this LogRecord.
Returns:
The LogLevel of this record.

getLocation

public String getLocation()
Get the location in code where this LogRecord originated.
Returns:
The string containing the location information.

getMessage

public String getMessage()
Get the message asscociated with this LogRecord.
Returns:
The message of this record.

getMillis

public long getMillis()
Get the event time of this record in milliseconds from 1970. When a LogRecord is constructed the event time is set but may be overridden by calling setMillis();
Returns:
The event time of this record in milliseconds from 1970.

getNDC

public String getNDC()
Get the NDC (nested diagnostic context) for this record.
Returns:
The string representing the NDC.

getNextId

protected static long getNextId()

getSequenceNumber

public long getSequenceNumber()
Get the sequence number associated with this LogRecord. Sequence numbers are generally assigned when a LogRecord is constructed. Sequence numbers start at 0 and increase with each newly constructed LogRocord.
Returns:
The sequence number of this record.

getThreadDescription

public String getThreadDescription()
Get the thread description asscociated with this LogRecord. When a LogRecord is constructed, the thread description is set by calling: Thread.currentThread().toString(). You may supply a thread description of your own by calling the setThreadDescription(String) method.
Returns:
The thread description of this record.

getThrown

public Throwable getThrown()
Get the Throwable associated with this LogRecord.
Returns:
The LogLevel of this record.

getThrownStackTrace

public String getThrownStackTrace()
Get the stack trace in a String-based format for the associated Throwable of this LogRecord. The stack trace in a String-based format is set when the setThrown(Throwable) method is called.

Why do we need this method considering that we have the getThrown() and setThrown() methods? A Throwable object may not be serializable, however, a String representation of it is. Users of LogRecords should generally call this method over getThrown() for the reasons of serialization.

Returns:
The Stack Trace for the asscoiated Throwable of this LogRecord.

hasThrown

public boolean hasThrown()
Returns:
true if getThrown().toString() is a non-empty string.

isFatal

public boolean isFatal()
Returns:
true if isSevereLevel() or hasThrown() returns true.

isSevereLevel

public abstract boolean isSevereLevel()
Abstract method. Must be overridden to indicate what log level to show in red.

resetSequenceNumber

public static void resetSequenceNumber()
Resets that sequence number to 0.

setCategory

public void setCategory(String category)
Set the category associated with this LogRecord. A category represents a hierarchical dot (".") separated namespace for messages. The definition of a category is application specific, but a common convention is as follows:

When logging messages for a particluar class you can use its class name: com.thoughtworks.framework.servlet.ServletServiceBroker.

Futhermore, to log a message for a particular method in a class add the method name: com.thoughtworks.framework.servlet.ServletServiceBroker.init().

Parameters:
category - The category for this record.

setLevel

public void setLevel(LogLevel level)
Set the level of this LogRecord.
Parameters:
level - The LogLevel for this record.

setLocation

public void setLocation(String location)
Set the location in code where this LogRecord originated.
Parameters:
location - A string containing location information.

setMessage

public void setMessage(String message)
Set the message associated with this LogRecord.
Parameters:
message - The message for this record.

setMillis

public void setMillis(long millis)
Set the event time of this record. When a LogRecord is constructed the event time is set but may be overridden by calling this method.
Parameters:
millis - The time in milliseconds from 1970.

setNDC

public void setNDC(String ndc)
Set the NDC (nested diagnostic context) for this record.
Parameters:
ndc - A string representing the NDC.

setSequenceNumber

public void setSequenceNumber(long number)
Set the sequence number assocsiated with this LogRecord. A sequence number will automatically be assigned to evey newly constructed LogRecord, however, this method can override the value.
Parameters:
number - The sequence number.

setThreadDescription

public void setThreadDescription(String threadDescription)
Set the thread description associated with this LogRecord. When a LogRecord is constructed, the thread description is set by calling: Thread.currentThread().toString(). You may supply a thread description of your own by calling this method.
Parameters:
threadDescription - The description of the thread for this record.

setThrown

public void setThrown(Throwable thrown)
Set the Throwable associated with this LogRecord. When this method is called, the stack trace in a String-based format is made available via the getThrownStackTrace() method.
Parameters:
thrown - A Throwable to associate with this LogRecord.

setThrownStackTrace

public void setThrownStackTrace(String trace)
Set the ThrownStackTrace for the log record.
Parameters:
trace - A String to associate with this LogRecord

toString

public String toString()
Return a String representation of this LogRecord.

Copyright 2000-2005 Apache Software Foundation.