# Proposal for Logging Package

### (0) Rationale

There is a great need for debugging and logging information inside of Commons components such as HTTPClient and dbcp. However, there are many logging APIs out there and it is difficult to choose among them.

The Logging package will be an ultra-thin bridge between different logging libraries. Commons components may use the Logging JAR to remove compile-time/runtime dependencies on any particular logging package, and contributors may write Log implementations for the library of their choice.

### (1) Scope of the Package

The package shall create and maintain a package that provides extremely basic logging functionality and bridges to other, more sophisticated logging implementations.

The package should :

- Have an API which should be as simple to use as possible
- Provide support for log4j
- Provide pluggable support for other logging APIs

Non-goals:

- This package will not perform logging itself, except at the most basic level.
- We do not seek to become a "standard" API.

### (1.5) Interaction With Other Packages

Logging relies on:

- Java Development Kit (Version 1.1 or later)
- Avalon Framework (compile-time dependency only unless this Log implementation is selected at runtime)
- Avalon LogKit (compile-time dependency only unless this Log implementation is selected at runtime)
- JDK 1.4 (compile-time dependency only unless this log implementation is selected at runtime).
- Log4J (compile-time dependency only unless this Log implementation is selected at runtime)
- Lumberjack (compile-time dependency only unless this Log implementation is selected at runtime)

### (2) Required Jakarta-Commons Resources

- CVS Repository - New directory `logging` in the `jakarta-commons` CVS repository.
- Initial Committers - The list is provided below.
- Mailing List - Discussions will take place on the general dev@commons.apache.org mailing list. To help list subscribers identify messages of interest, it is suggested that the message subject of messages about this component be prefixed with [Logging].
- Bugzilla - New component "Logging" under the "Commons" product category, with appropriate version identifiers as needed.
- Jyve FAQ - New category "commons-logging" (when available).

### (4) Initial Committers

The initial committers on the Logging component shall be:

- Morgan Delagrange
- Rodney Waldhoff
- Craig McClanahan