log4j tutorial



log4j tutorial


What is log4j


log4j is a reliable, 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.




Major Features Of Log4j


Log4j is a widely used framework and here are features of log4j :

ü  It is a thread-safe. It is optimized for speed
ü  It is based on a named logger hierarchy.
ü  It supports multiple outputs of appenders per logger.
ü  It supports internationalization.
ü  It is not restricted to a predefined set of facilities.
ü  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 delivery, log4j does not
guarantee that each log statement will be delivered to its destination.

Components of log4j


log4j has three main components:

loggers: Responsible for capturing logging information.

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

layouts: Responsible for formatting logging information in different styles.

Pros and Cons of Logging


Following are the Pros and Cons of Logging

Logging is an important component of software development. A well-written logging code offers quick debugging, easy maintenance, and structured storage of an application's runtime information. Logging does have its drawbacks also. It can slow down an application. If too verbose, it can cause scrolling blindness.

To alleviate these concerns, log4j is designed to be reliable, fast and extensible. Since logging is rarely the main focus of an application, the log4j API strives to be simple to understand and to use.


Purpose Of Logger Object
Logger Object − The top-level layer of log4j architecture is the Logger which provides the
Logger object.

The Logger object is responsible for capturing logging information and they are stored in a
namespace hierarchy.

Purpose of the Layout object

The layout layer of log4j architecture provides objects which are used to format logging
information in different styles. It provides support to appender objects before publishing
logging information.

Layout objects play an important role in publishing logging information in a way that is
human-readable and reusable.

Purpose of Appender object

The Appender object is responsible for publishing logging information to various preferred
destinations such as a database, file, console, UNIX Syslog, etc.

Purpose Of ObjectRenderer Object

The ObjectRenderer object is specialized in providing a String representation of different
objects passed to the logging framework.

This object is used by Layout objects to prepare the final logging information.

LogManager object

The LogManager object manages the logging framework. It is responsible for reading the
initial configuration parameters from a system-wide configuration file or a configuration
class.



SHARE THIS

Author:

My Name is Ankur Jain and I am currently working as Automation Test Architect.I am ISTQB Certified Test Manager,Certified UI Path RPA Developer as well as Certified Scrum Master with total 12 years of working experience with lot of big banking clients around the globe.I love to Design Automation Testing Frameworks with Selenium,Appium,Protractor,Cucumber,Rest-Assured, Katalon Studio and currently exploring lot in Dev-OPS as well. I am currently staying in Mumbai, Maharashtra. Please Connect with me through Contact Us page of this website.

Previous Post
Next Post