NLOG4J version 1.2.25

You can download NLOG4J version 1.2.25, with native SLF4J support, including full source code, class files and documentation as

NLOG4J is a production-quality log4j-replacement with direct SLF4J API support. NLOG4J is maintained by Ceki Gülcü, the founder of the log4j project. For details about how nlog4j differs from log4j please refer to the changes document.

Please note that all new development effort in NLOG4J is now redirected into LOGBack, a sucessor for log4j and NLOG4J.

Previous versions of NLOG4J

Previous versions of SLF4J can be downloaded from the main repository.

log4j versions

Log4j version 1.2.9 is identical to version 1.2.8, except that several key methods have been deprecated in preparation for version 1.3.0, the next major release of log4j. These changes are intended to enforce the rule that client code should never refer to the Category class directly, but use the Logger class instead. Similarly, client code should not refer to the Priority class but to the Level class instead.

See the document entitled preparing for log4j 1.3 for a more detailed discussion.

log4j version 1.3 (alpha)

An alpha version of log4j version 1.3 has been recently made available. As the alpha prefix indicates, this release is still being tested, future versions may bring further radical changes, and all the usual caveats apply.

Third-party extensions (listed in alphabetical order)

Chainsaw v2 (NEW!)
A new and improved version of the venerable Chainsaw utility, now being written by the log4j development team is getting closer to release. You can see screen shots of it and install it and run over here
DatedFileAppender works in the same manner as the Tomcat FileLogger. Contrary to DailyRollingFileAppender shipping with log4j, log file names generated by DatedFileAppender always contain today's date. While this distinction seems minor, it means you can reliably copy, compress, remove or manipulate a day's log file shortly after midnight. With the DailyRollingFileAppender, a day's log file is not renamed until the first message is logged some time after midnight.
A powerful JDBCAppender by Danko Mannhaupt who continues the work of Thomas Fenner. You might find this JDBCAppender more suitable then the one that ships with log4j 1.2.
Just4Log is a library to enhance dynamically the performance of various logging systems inside a java application. Dynamically because the sourcecode in java is not modified but rather the optimization occurs on the compiled ByteCode files.
log4Ant includes a complete bridge to the Log4J logging systemfor a robust build monitoring system. These Ant components let you capture, map, and send Ant log messages and stdio output through your Log4J installation. Contact
Log4J400 includes MessageQueue and DataQueue Appenders for the AS/400 (aka IBM iSeries).
This Project provides a set of EJBs to store Log4J events (received via JMS appender) in a database. The main aim is to provide a toolset for a centralized, data-center suitable logging.
Log4Unit is a JUnit extension combining JUnit with Log4J. The intention is to create test protocols for JUnit.

JUnit is asymmetrical in the sense that it focusses on the documentation of test failures and errors. Successful execution of a test case is not further documented. In order to obtain a test protocol that documents the initial settings, the test case execution and its results, a logging component is required. Log4J as the current de facto standard is selected for this extension.

Log4Web (commercial)
Log4Web is a J2EE web application, designed to web-enable system log files that have been generated by log4j.
Log Tag
A custom log tag library from the Jakarta Taglibs project.
LogWeb is a web interface for configuring log4j at runtime within a servlet container. Every log4j feature of is configurable through this interface.
An appender to send formatted logging event strings to a specified managment host (typically, a MLM of some sort, but could also be an SNMP management console) in the form of an SNMP trap.
Log view and analysis application which enables web browsing and analysis over logs.

Ports to other languages (listed in alphabetical order within each section)

Fellow Apache Logging Services Projects

Log4cxx is a port to C++ of the log4j project.
The .NET implementation of the popular log4j Java API providing flexible and arbitrarily granular control over log management and configuration.
Log4Php is a PHP port of log4j framework. It supports xml configuration, logging to files, stdout/err, syslog, socket, configurable output layouts and logging levels.

Other Ports

ANSI C functions and macros for flexible logging to files and other destinations. It is modeled after log4j. It follows the log4j API within the limits of reason. Intended for use in time-space critical environments.
A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations modeled after log4j.
Log4cplus is a simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. It is modeled after the Java log4j API.
D is a new programming language conceived as a re-engineering of C and C++. The Mango.log4jD package supports all the major log4j features.
The Goanna project (Eiffel Web Services) now includes log4E, a complete port of log4j.
Log::Log4perl is a Perl port of log4j by Kevin Goess and Mike Schilli. The authors made sure that their port was as close as possible to the original implementation. Even the configuration files are similar! The project is still being enhanced, however the current release is stable and has been released to CPAN.
Log4LS is a LotusScript library package and is used to get logging statements to a Domino database, sent by mail or written to a file. It is modeled after Jakarta log4j.
Log4Py is a python logging module similar to log4j. It supports logging to files or to stdout/stderr, variable log-levels, configurable output formats and configuration via configuration files.
Another Python translation of log4j. This project no longer seems to be maintained.
Log4plsql is a Oracle PL/SQL logging module similar to log4j. It supports logging out-off transaction. It is useful for logging, benchmarking and monitoring PL/SQL applications.
Qmmslog is a port of log4j to the Qt/C++ platform.
A Powerful Logger for Ruby.

Log4r features an extremely flexible logging library for Ruby. Killer features include a heiarchial logging system of any number of levels, logger inheritance, multiple output destinations, tracing, custom formatting and more. Log4r was inspired by log4j. Log4r provides the defining features of log4j and some of its own features that just might make log4j users envious.

If you would like your software to be listed here, then send a note to the list.