English 中文(简体)
log4j - Log Formatting
  • 时间:2024-11-03

log4j - Log Formatting


Previous Page Next Page  

Apache log4j provides various Layout objects, each of which can format logging data according to various layouts. It is also possible to create a Layout object that formats logging data in an apppcation-specific way.

All Layout objects receive a LoggingEvent object from the Appender objects. The Layout objects then retrieve the message argument from the LoggingEvent and apply the appropriate ObjectRenderer to obtain the String representation of the message.

The Layout Types

The top-level class in the hierarchy is the abstract class org.apache.log4j.Layout. This is the base class for all other Layout classes in the log4j API.

The Layout class is defined as abstract within an apppcation, we never use this class directly; instead, we work with its subclasses which are as follows:

The Layout Methods

This class provides a skeleton implementation of all the common operations across all other Layout objects and declares two abstract methods.

Sr.No. Methods & Description
1 pubpc abstract boolean ignoresThrowable()

It indicates whether the logging information handles any java.lang.Throwable object passed to it as a part of the logging event. If the Layout object handles the Throwable object, then the Layout object does not ignore it, and returns false.

2 pubpc abstract String format(LoggingEvent event)

Inspanidual layout subclasses implement this method for layout specific formatting.

Apart from these abstract methods, the Layout class provides concrete implementation for the methods psted below:

Sr.No. Methods & Description
1 pubpc String getContentType()

It returns the content type used by the Layout objects. The base class returns text/plain as the default content type.

2 pubpc String getFooter()

It specifies the footer information of the logging message.

3 pubpc String getHeader()

It specifies the header information of the logging message.

Each subclass can return class-specific information by overriding the concrete implementation of these methods.

Advertisements