[logback-user] Redirecting logback logs to log4j

Ceki Gulcu ceki at qos.ch
Wed Aug 19 11:20:03 CEST 2009



Johan Bos wrote:
> I already read the documentation,
> 
> I only omitted that logback was also considered as one binder as well

Yes, logback-classic is an slf4j binding.

> So I can't have both slf4j-to-log4j and logback, this point is clear now

> At first what I wanted was to redirect all logs from log4j to slf4j and us
> logback as implementation, but it seems that the client-app.war use some
> log4j non-overload classes, not included into the bridge lib:
> log4j-to-slf4j.jar
> 
> That s why I decided to go with the log4j implementation, but I forgot that
> even if logback support natively slf4, that still makes it one of the
> implementation, so it can't be both in use.
> 
> My bad, I will test it, as I don't have direct dependency over logback with
> this library.


Note that you still need an slf4j binding which needs to be
slf4j-log4j12 in your case.

Quoting the manual:

log4j-over-slf4j.jar and slf4j-logj12.jar cannot be present
simultaneously

The presence of slf4j-logj12.jar, that is the log4j binding for SLF4J,
will force all SLF4J calls to be delegated to log4j. The presence of
log4j-over-slf4j.jar will in turn delegate all log4j API calls to
their SLF4J equivalents. If both are present simultaneously, slf4j
calls will be delegated to log4j, and log4j calls redirected to SLF4j,
resulting in an endless recursion.

Since log4j-to-slf4j.jar and slf4j-log4j12.jar cannot co-exist, you
need to remove log4j-to-slf4j.jar from your class path, which should
then consist of

slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
log4j.jar

(1.5.8 is the latest SLF4J release)

HTH,

-- 
Ceki Gülcü
Logback: The reliable, generic, fast and flexible logging framework for Java.
http://logback.qos.ch


More information about the Logback-user mailing list