Olaf Krische updated ZOOKEEPER-850:

    Release Note: 
* replaces log4j with slf4j code (also in contrib for bookkeeper, 
zooinspector,rest,loggraph), added slf4j dependencies into several ivy.xml files
* you must add slf4j-api-1.6.1.jar and slf4j-log4j12-1.6.1.jar (bridge from 
sl4j to log4j) to the classpath, if not using the standard scripts
* log4j remains as the final logger yet. Therefore there is still  work to do: 
remove programmatic access to the log4j from certain classes (which add 
appenders or configure log4j at runtime), or move them to contrib

introduces indirection for logging via slf4j-api. adding bridge from slf4j to 
log4j implementation.

1) added "slf4j" dependency in ivy.xml

2) replaced:
- "import org.apache.log4j.Logger" with "org.slf4j.Logger,LoggerFactory"
- "org.apache.log4j.Logger with "org.slf4j.Logger"
- "org.apache.log4j.Logger.getLogger" with "org.slf4j.LoggerFactory.getLogger"

3) replaced log.fatal with log.error, slf4j api has no log.fatal, faq 
recommends log.error

4) fixed logging requests, like "log.error(object)" with 
"log.error(String.valueOf(object))" to match slf4j api

5) removed direct log4j-api access from 
"org.apache.bookkeeper.util.LocalBookKeeper" in contrib.
it added programmatically a console appender to the existing logger in the 
constructor. this can be done anytime via log4j.properties (which had by 
default INFO,CONSOLE anyways)

> Switch from log4j to slf4j
> --------------------------
>                 Key: ZOOKEEPER-850
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-850
>             Project: Zookeeper
>          Issue Type: Improvement
>          Components: java client
>    Affects Versions: 3.3.1
>            Reporter: Olaf Krische
>            Assignee: Olaf Krische
>             Fix For: 3.4.0
>         Attachments: ZOOKEEPER-3.3.1-log4j-slf4j-20101031.patch.bz2, 
> ZOOKEEPER-3.4.0-log4j-slf4j-20101102.patch.bz2, ZOOKEEPER-850.patch
> Hello,
> i would like to see slf4j integrated into the zookeeper instead of relying 
> explicitly on log4j.
> slf4j is an abstract logging framework. There are adapters from slf4j to many 
> logger implementations, one of them is log4j.
> The decision which log engine to use i dont like to make so early.
> This would help me to embed zookeeper in my own applications (which use a 
> different logger implemenation, but slf4j is the basis)
> What do you think?
> (as i can see, those slf4j request flood all other projects on apache as well 
> :-)
> Maybe for 3.4 or 4.0?
> I can offer a patchset, i have experience in such an migration already. :-)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to