Tuesday, July 14, 2009

Logging Framwork Into Java








Commons Logging

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.
Category Logging Tools
License Apache Software License
HomePage http://jakarta.apache.org/commons/logging/

Log4j

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.
Category Logging Tools
License Apache Software License
HomePage http://logging.apache.org/log4j/docs/

jLo

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

Category Logging Tools
License BSD License
HomePage http://jlo.jzonic.org/

MonoLog

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
Category Logging Tools
License GNU Library or Lesser General Public License (LGPL)
HomePage http://monolog.objectweb.org

Lumberjack

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
Category Logging Tools
License GNU Library or Lesser General Public License (LGPL)
HomePage http://javalogging.sourceforge.net/

Houston

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.
Category Logging Tools
License Apache Software License
HomePage http://ajax.sourceforge.net/houston/

JTraceDump

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.
Category Logging Tools
License GNU Library or Lesser General Public License (LGPL)
HomePage http://jtracedump.sourceforge.net/

qflog

qflog is a tool for displaying log messages which is built on top of the de.qfs.lib.log package
Category Logging Tools
License Mozilla Public License
HomePage http://www.qfs.de/en/qflog/

Just4Log

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.
Category Logging Tools
License Apache Software License
HomePage http://just4log.sourceforge.net/

Simple Log

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.
Category Logging Tools
License Apache Software License
HomePage https://simple-log.dev.java.net/

JDBC Logger

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.

Category Logging Tools
License Apache Software License
HomePage http://jdbclogger.sourceforge.net/index.html

Microlog

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.

Category Logging Tools
License Apache Software License
HomePage http://microlog.sourceforge.net

Pencil - log message compiler

"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. Features:

* 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.

Category Logging Tools
License GNU General Public License (GPL)
HomePage http://pencil.dev.java.net

Craftsman Spy

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.
Category Logging Tools
License GNU Library or Lesser General Public License (LGPL)
HomePage http://zer0.free.fr/craftsman/spy.php

LimpidLog

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.
Category Logging Tools
License GNU General Public License (GPL)
HomePage http://www.acelet.org/_limpidlog/

LN2

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.
Category Logging Tools
License The Artistic License
HomePage http://enigmastation.com/ln2/