Nowadays I see a lot of cases where the Apache commons-logging is the default library to use for logging, in combination with Apache log4j. The commons-library is implemented so that it discovers at runtime the actual logging library that you have in your classpath, and delegates all the logging calls to that specific framework. In other words, commons-library does not implement any logging functionality. Instead, it acts as a bridge between your application and the logging framework of choice.
However, as any dynamic mechanism, it is quite fragile. So fragile that it has been marked as “DO NOT ever use it”. You can read here and here about the problems that commons-logging is creating. Read the rest of this entry »