What is it?
Log4j is a fast and flexible framework for logging application debugging messages.
With log4j it is possible to enable logging at runtime without modifying the application binary. The log4j package is designed so that these 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.
log4j home page: http://logging.apache.org/log4j/
log4j documentation: http://logging.apache.org/log4j/docs/documentation.html
The complete log4j manual: the complete log4j manual by Ceki Gulcu
According to Curt Arnold (posting of Jun 5, 2007):
Development on log4j 1.3 has effectively ended in preference for working on log4j 2.0 designed for JDK 1.5 and higher and continued support of log4j 1.2 for existing applications and earlier JDKs. log4j 1.3 was stuck in having too many compatibility issues to be just a dot release but not a radical enough change to address some long standing issues. Many months of work were done to improve the compatibility between log4j 1.3 and log4j 1.2, but many hard issues still remained. It seemed better to bring features originally designed for log4j 1.3 back so they could be used with deployed log4j 1.2 versions and move on to something for the modern era. Some early experiments for log4j 2.0 are in the sandbox, but it hasn't been built out to a functioning framework yet.
logback does position itself as a migration path for log4j users. The development model, design objectives and licenses differ between logback and log4j and the resulting products will have different strengths. As a log4j core developer, I feel that I can't become intimately familiar with logback code due to its license and the potential repercussions of an accidental code leakage into log4j, so I'm not going to be in a position to give a point by point comparison on logback and log4j 1.2 or log4j 2.0.
Users are encouraged to first search the Main log4j FAQ, this wiki's FrequentlyAskedQuestions, and the mail archives to see if a question has been previously answered. If not satisfied with the results of this search, then by all means, please post your questions.
PackagesOverview - A quick look at the packages in the log4j source tree
FrequentlyAskedQuestions - Some answers to frequently asked questions.
- Some answers to frequently asked questions.
Log4jRequestedFeatures - What are the number one or two features you would like to see added to log4j? How can we make it a better logging tool for you? Tell us, we really want to know.
TraceDebate - The pros and cons for adding a trace level.
ToDo - The current log4j "to do" list.
UsefulCode - This is a forum for developers to list useful classes or code bits related to using log4j. Please feel free to list pieces of code that you have found useful. Chances are there are others out there that will find it useful as well.
ContributingCode - Have some cool code, patches, or classes you want to submit to the log4j project? This page describes how to contribute it.
ChainsawHelp - Go here to help build a Chainsaw V2 FAQ (and find other tricks there as well).
Log4jRelatedResources - Log4J related external resources and software packages
'Special' Wiki pages
- A list of all pages on this wiki.
A basic guide to the MoinMoin wiki (including information about wiki syntax).
- A list of all the words that appear in the titles of the pages on this wiki, with links to pages that include that word.
- A full-text search of the wiki.
- All the "broken links" -- a list of all the pages on this wiki that are linked to, but do not exist.
- All pages on this wiki that are not linked to from anywhere else (and are thus very hard to reach).
- Generates a list of 75 random pages on this wiki.
- Generates a graph and some statistics about the sizes of pages on this wiki.
- Generates a graph of page views and page visits.
- Generates a graph of the web browsers used in visiting this page.
- Shows basic information about this wiki installation, the extensions it has installed, etc.