Log4j bridge
As of version 0.7, logback ships with a new module called log4j-bridge. It allows log4j users to use logback without changing a single line of code in their application. All that is needed to do is to replace the log4j.jar file with the appropriate logback jars.
How does it work?
The log4j-bridge module contains replacements of most widely
used log4j classes, namely Category
,
Level
, Logger
, MDC
,
Priority
, BasicConfigurator
and Log4jLoggerFactory
. These
replacement classes redirect loggging calls to the corresponding
logback methods.
To use log4j-bridge in your own application, the first step is to locate and remove the log4j.jar file and replace it with log4j-bridge.jar which ships with logback. Note that you still need logback-classic and its dependencies for the log4j-bridge to work properly. In summary, here is a list of the required jars:
- log4j-bridge-VERSION.jar
- logback-classic-VERSION.jar
- logback-core-VERSION.jar
- slf4j-api-VERSION.jar
When does it not work?
The log4-bridge module does not work when the application calls log4j components that are not present in the bridge. For examples, direct creation of log4jAppenders
or
Filters
will not work.
However, in most situations, log4j finds its configuration file and
configures itself. In these cases, the application will only issue calls
to the classes that are contained in the log4j-bridge.