Java Logging: LogRecord

Jakob Jenkov
Last update: 2014-06-23

The LogRecord class wraps the messages logged to a Logger. You can either log a LogRecord directly to a Logger, or have the Logger wrap what is logged in a LogRecord. That is, all logging methods on the Logger that do not take a LogRecord will wrap the parameters passed to the log method in a LogRecord object.

Once a LogRecord is passed to, or produced internally by the Logger, it can be passed to a Filter (if a filter is set), to Handler's, and to Logger's further op the Logger hierarchy.

The LogRecord contains the following getter methods, which can be used in e.g. a Filter to determine if the LogRecord should be logged or not:

getLevel()
getLoggerName()
getMessage()
getMillis()
getParameters()
getResourceBundle()
getResourceBundleName()
getSequenceNumber()
getSourceClassName()
getSourceMethodName()
getThreadID()
getThrown()

Each of these getter methods have a corresponding setter method too, but unless you create LogRecord instances yourself, you won't need the setter methods. Here is a brief explanation of the getter methods.

The getLevel() method returns the log level the message represented by this LogRecord was logged with.

The getLoggerName() method returns the name of the Logger that logged this LogRecord.

The getMessage() method returns the message logged.

The getMillis() method returns the time in milliseconds this LogRecord was recorded.

The getParameters() method returns the parameters to be inserted into the message of this LogRecord.

The getResourceBundle() method returns the ResourceBundle (if any) used to localize the message of this LogRecord. If no ResourceBundle is used, this method returns null.

The getResourceBundleName() method returns the name of the ResourceBundle (if any) used to localize the message of this LogRecord. If no ResourceBundle is used, null is returned.

The getSequenceNumber() method returns a sequence number generated internally in the LogRecord constructor when the LogRecord is created.

The getSourceClassName() returns the class name of the class logging the message represented by this LogRecord. Keep in mind though, that this name may not be entirely correct for various reasons. See the JavaDoc for more details.

The getSourceMethodName() returns the method name of the method logging the message represented by this LogRecord. Keep in mind though, that this name may not be entirely correct for various reasons. See the JavaDoc for more details.

The getThreadID() method returns the ID of the thread logging the message represented by this LogRecord.

The getThrown() method returns the Throwable that was marked thrown when logging the message represented by this LogRecord. This Throwable is either passed as parameter to a Logger log method, or set directly on a LogRecord which is then passed to a Logger. This Throwable is typically what caused the log message to be logged.

Jakob Jenkov

Featured Videos

Java ConcurrentMap + ConcurrentHashMap

Java Generics

Java ForkJoinPool

P2P Networks Introduction

















Close TOC
All Tutorial Trails
All Trails
Table of contents (TOC) for this tutorial trail
Trail TOC
Table of contents (TOC) for this tutorial
Page TOC
Previous tutorial in this tutorial trail
Previous
Next tutorial in this tutorial trail
Next