Open Source Logging Tools in Java
|Log4j is a logging tool that allows you to log at runtime without modifying the application binary. The log4j package is designed so that logging statements can remain in shipped code without incurring a heavy performance cost. Logging behavior can be controlled by editing a configuration file, without touching the application binary.
Go To Log4j
|jLo is a logging framework written in Java. It has some uniqiue features compared to other existing frameworks.
List of features:
* supports multiple log configurations
* offers loggers, channels, filters and pipes
* uses either a direct or asynchronous log processor (handle the logging in a separate thread
* compataible to commons-logging
* auto reload of the configuration if the file has changed
* simple XML structure to configure jLo
* supports filters to limit the output
* supprts the use of variables in the configuration
* supports the use of environment variables or java system properties
* comes with mock objects for handler and formatter to be integrated into JUnit testcases for example
* all testcases are included in the source distribution
Go To jLo
|MonoLog was designed to:
* to standardize the instrumentation code
* to support a component architecture
* to allow an efficient implementation of logging
* to abstract source code instrumentation from a specific implementation of logging
* to support internationalisation
* to support monitoring
Go To MonoLog
|The Lumberjack project provides an open source (covered by the GNU Lesser Public License) implementation of the logging APIs first introduced in JDK 1.4 that will work for JDK 1.2 and 1.3. The goal is for this implementation to work transparently on JDK 1.2 and 1.3 without recompile and with no significant difference in behavior between it and the implementation provided in JDK 1.4
Go To Lumberjack
|Houston is an open-source, light-weight status and logging toolkit offering a plug-in architecture to let you choose the underlying, industry-strength logging toolkit such as Apache log4j or Java 1.4's built-in java.util.logging toolkit.
Houston uses the publish/subscribe model and sends reported errors, warnings, infos, hints, and so on to subscribed status handlers. Status handler for command-line apps usually display incoming messages in plain text on the console, while classic desktop apps display incoming messages in the status bar or in a message box using styled text in various colors (e.g red for errors, orange for warnings, etc) with icons and other visual gimmicks.
Go To Houston
|JTraceDump provides a facility to keep a history of application processing steps in memory and dump it in case of an error. It is not a replacement, but an addition to trace- or debug-logging.
Go To JTraceDump
|qflog is a tool for displaying log messages which is built on top of the de.qfs.lib.log package
Go To qflog
|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.
Go To Just4Log
|LN2 is a logging framework based on pattern matching for the logging process. It's designed loosely on Log4J, without binding categories to levels quite so tightly.
Go To LN2
|A replacement for the system ClassLoader that instruments classes on load-time with tracing output statements.
Go To TracingClassLoader
|The Logging package is an ultra-thin bridge between different logging libraries. Commons components may use the Logging API to remove compile-time and run-time dependencies on any particular logging package, and contributors may write Log implementations for the library of their choice.
Go To Commons Logging
|SMTPHandler is a handler for the java.util.logging library. The handler sends LogRecord's via email using the Simple Mail Transfer Protocol.
Go To SMTPHandler
|Collection of Ant tasks that let a build script issue custom messages and diagnostics to remote monitors (like Chainsaw) via Apache's Log4J framework.
Go To Log4Ant
|Simple Log is a logging anti-framework.
It is a small library that does logging very simply and requires you to do almost nothing (other than actually logging) to get log output happening.
It is much simpler to use than a logging framework, especially in terms of configuration.
It doesn't attempt to solve every logging problem in one package, but contains enough features to be a viable alternative for most applications that need logging.
Go To Simple Log
|Log Bridge allows the abstraction of logging from a particular logging implementation.
Log Bridge allows you to do this by providing a simple API that acts as a bridge from your library or component through to the logging package that the developers using your components choose.
The features built into Log Bridge that are not readily available in other packages are:
Tracing (entry and exit) is supported
A simple API
Built-in support for Simple Log
Wide logging package support
Log Bridge currently provides bridges to the following logging packages:
IBM's Logging Toolkit for Java
Go To Log Bridge
|A JDBC logging framework :
Craftsman Spy is a framework for JDBC logging. It is a JDBC driver implementation which logs all SQL connections and processing with the spent execution time, all the stored procedures with arguments, all the batch processing, and the result sets.
Go To Craftsman Spy
|\"Pencil\" is a log-message-compiler for java (keyword: generative programming). It takes bytecode produced by javac (or another java-compiler), transforms it and enriches it with real logging expressions.
The main goal of the \"Pencil\" project is to provide a mechanism to make logging easy, safe and fast. To achieve this result, \"Pencil\" uses its own expression language developed with the ANTLR parser-generator.
* The Pencil log statements are more readable than usual log instructions.
* Java source files with Pencil statements are shorter the java files with usual logging.
* Pencils way to log forbids errors during the log process (no NullPointerExceptions, no unmeant business logic).
* Pencil is based on commons logging. so yuo can use your favorite logging framework to log.
* The modified bytecode is automaticaly enriched with isDebugEnabled() calls, to make the logging fast.
Go To Pencil - log message compiler
|The Simple Logging Facade for Java or (SLF4J) is intended to serve as a simple facade for various logging APIs allowing to the end-user to plug in the desired implementation at deployment time.
Logging API implementations can either choose to implement the the SLF4J interfaces directly, e.g. NLOG4J or SimpleLogger. Alternatively, it is possible (and rather easy) to write SLF4J adapters for the given API implementation, e.g. Log4jLoggerAdapter or JDK14LoggerAdapter.
Go To SLF4J
|Java debugging Agent (JDLabAgent) is a shared object library which can be loaded into the Java Virtual Machine via Java Virtual Machine Debug Interface (JVMDI). The JDLabAgent is controlled via configuration files and logs JVM events (e.g. breakpoints, exceptions).
Go To JDLabAgent
|Trace Log is a tool that monitors up several server logs (WAS, Tomcat, IIS, PHP, etc) simultaneously all in one tool. The viewer updates and scrolls automatically when the log file changes... a MUST HAVE utility tool for developers.
Go To Trace Log
|JDBC Logger is a Java tool that intercepts and logs all database statements that use JDBC. It is intended for developers to monitor SQL statements generated by EJB, Hibernate or any other database access tool that doesn't display them.
Go To JDBC Logger
|LimpidLog is a revolutionary logging system which does not require any hard-code log statements. It records all important information about the execution of a class at runtime when the class is registered.
A Swing manager can be used to dynamically register/deregister your applications. Logged data can be read by human, or read my LimpidDebugger which interprets the data presents it as source level debugging.
LimpidLog is for J2EE standalone Java application. LimpidLog also supports Netbeans with GUI management as a Netbeans plug-in.
Go To LimpidLog
|Logback is intended as a successor to the popular log4j project. It was designed by Ceki Gülcü, the founder of log4j. It builds upon experience gained in building industrial-strength logging systems going back as far as 1999.
Logback's basic architecture is sufficiently generic so as to apply under different circumstances. At present time, logback is divided into three modules, logback-core, logback-classic and logback-access.
The logback-core module lays the groundwork for the other two modules. The logback-classic module can be assimilated to a significantly improved version of log4j. Moreover, logback-classic natively implements the SLF4J API so that you can readily switch back and forth between logback and other logging systems such as log4j or java.util.logging (JUL).
The logback-access module integrates with Servlet containers, such as Tomcat and Jetty, to provide HTTP-access log functionality. Note that you could easily build your own module on top of logback-core.
Go To LOGBack
|Microlog is a small, yet powerful logging library for mobile devices based on the Log4j API. Supports Java ME (J2ME) and Android. Logs to device, to PC or to servers online. Used in all phases from development on emulator/device to outdoor field-testing.
Go To Microlog