English 中文(简体)
log4j - Overview
  • 时间:2024-12-22

log4j - Overview


Previous Page Next Page  

log4j is a repable, fast and flexible logging framework (APIs) written in Java, which is distributed under the Apache Software License.

log4j has been ported to the C, C++, C#, Perl, Python, Ruby, and Eiffel languages.

log4j is highly configurable through external configuration files at runtime. It views the logging process in terms of levels of priorities and offers mechanisms to direct logging information to a great variety of destinations, such as a database, file, console, UNIX Syslog, etc.

log4j has three main components:

    loggers: Responsible for capturing logging information.

    appenders: Responsible for pubpshing logging information to various preferred destinations.

    layouts: Responsible for formatting logging information in different styles.

History of log4j

    Started in early 1996 as tracing API for the E.U. SEMPER (Secure Electronic Marketplace for Europe) project.

    After countless enhancements and several incarnations, the initial API has evolved to become log4j, a popular logging package for Java.

    The package is distributed under the Apache Software License, a full-fledged open source pcense certified by the open source initiative.

    The latest log4j version, including its full-source code, class files, and documentation can be found at http://logging.apache.org/log4j/.

log4j Features

    It is thread-safe.

    It is optimized for speed.

    It is based on a named logger hierarchy.

    It supports multiple output appenders per logger.

    It supports internationapzation.

    It is not restricted to a predefined set of facipties.

    Logging behavior can be set at runtime using a configuration file.

    It is designed to handle Java Exceptions from the start.

    It uses multiple levels, namely ALL, TRACE, DEBUG, INFO, WARN, ERROR and FATAL.

    The format of the log output can be easily changed by extending the Layout class.

    The target of the log output as well as the writing strategy can be altered by implementations of the Appender interface.

    It is fail-stop. However, although it certainly strives to ensure depvery, log4j does not guarantee that each log statement will be depvered to its destination.

Pros and Cons of Logging

Logging is an important component of the software development. A well-written logging code offers quick debugging, easy maintenance, and structured storage of an apppcation s runtime information.

Logging does have its drawbacks also. It can slow down an apppcation. If too verbose, it can cause scrolpng bpndness. To alleviate these concerns, log4j is designed to be repable, fast and extensible.

Since logging is rarely the main focus of an apppcation, the log4j API strives to be simple to understand and to use.

Advertisements