Class LogRecord

java.lang.Object
org.apache.log4j.lf5.LogRecord
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
Log4JLogRecord

public abstract class LogRecord extends Object implements Serializable
LogRecord. A LogRecord encapsulates the details of your desired log request.
Author:
Michael J. Sikorsky, Robert Shaw
See Also:
  • Field Details

    • _seqCount

      protected static long _seqCount
    • _level

      protected LogLevel _level
    • _message

      protected String _message
    • _sequenceNumber

      protected long _sequenceNumber
    • _millis

      protected long _millis
    • _category

      protected String _category
    • _thread

      protected String _thread
    • _thrownStackTrace

      protected String _thrownStackTrace
    • _thrown

      protected Throwable _thrown
    • _ndc

      protected String _ndc
    • _location

      protected String _location
  • Constructor Details

    • LogRecord

      public LogRecord()
  • Method Details

    • getLevel

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

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

      public abstract boolean isSevereLevel()
      Abstract method. Must be overridden to indicate what log level to show in red.
    • 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.
    • 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.
      See Also:
    • 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.
      See Also:
    • getMessage

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

      public void setMessage(String message)
      Set the message associated with this LogRecord.
      Parameters:
      message - The message for this record.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
    • setThrownStackTrace

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

      public Throwable getThrown()
      Get the Throwable associated with this LogRecord.
      Returns:
      The LogLevel of this record.
      See Also:
    • 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.
      See Also:
    • toString

      public String toString()
      Return a String representation of this LogRecord.
      Overrides:
      toString in class Object
    • getNDC

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

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

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

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

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

      protected static long getNextId()