Commons logging is an API attempting to hide the differences between JDK1.4 logging, log4j and other logging implementations. The reasons it exist is simple - JDK1.4 logging failed to become a de-facto standard ( even if it is bundled and the 'official' JSR for logging ), and many people preffer log4j or other implementations for logging. It is also one of the not-so-good APIs or implementations.
The current implementation of common-logging uses a discovery mechanism, similar with what is used by JAXP. This has caused a lot of problems to many people, in particular if multiple class loaders are used - yet it is a reasonable solution.
An alternative - that will work better in most cases - is to write a specific commons-logging implementation for each backend, without any discovery. That means the logging .jar file will no longer work with or discover any backend - but that's not really a problem. If someone choose a particular logging backend, all he has to do is also deploy the matching commons-logging.jar. This way all the guesses and discovery are no longer needed, and if he changes his mind and wants a different logging - all he needs is to switch both jars.
The ideal would be of course for log4j.jar to include a matching commons-logging implementation - but that won't happen for politic">A different implementation for commons-logging: "Commons logging is an API attempting to hide the differences between JDK1.4 logging, log4j and other logging implementations. The reasons it exist is simple - JDK1.4 logging failed to become a de-facto standard ( even if it is bundled and the 'official' JSR for logging ), and many people preffer log4j or other implementations for logging. It is also one of the not-so-good APIs or implementations.
The current implementation of common-logging uses a discovery mechanism, similar with what is used by JAXP. This has caused a lot of problems to many people, in particular if multiple class loaders are used - yet it is a reasonable solution.
An alternative - that will work better in most cases - is to write a specific commons-logging implementation for each backend, without any discovery. That means the logging .jar file will no longer work with or discover any backend - but that's not really a problem. If someone choose a particular logging backend, all he has to do is also deploy the matching commons-logging.jar. This way all the guesses and discovery are no longer needed, and if he changes his mind and wants a different logging - all he needs is to switch both jars.
The ideal would be of course for log4j.jar to include a matching commons-logging implementation - but that won't happen for politic"
Technical stuff
Friday, October 07, 2005
Subscribe to:
Post Comments (Atom)
Blog Archive
-
►
2003
(44)
-
►
February
(16)
- JMX console
- Sending mail to the blog
- Back from traffic school
- Wiki, Weblog and Pine
- First problem with mail blogs
- Mail aggregator
- mail and weblog (3)
- Soap over SSL without signed certs
- mail blog (2)
- Mail blog
- OS problems
- Got my linux back
- Blog reader distribution
- linux and java
- JMX servlets
- Gentoo (and gump)
-
►
February
(16)
0 comments:
Post a Comment