cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "gabriele renzi (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-625) Migrate to slf4j from log4j in cassandra code
Date Tue, 09 Mar 2010 09:47:27 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842987#action_12842987
] 

gabriele renzi commented on CASSANDRA-625:
------------------------------------------

No performance benefits (though it would allow switching to logback which is faster than log4j,
I'm told)

To me it's because of:
* messageformatter-like statements are cleaner, and more robust than string concatenation
* the ability to get rid of the "if logger.isFooEnabled" trick cause there is no need to avoid
the infamous "expensive string concatenation" that happens only inside the logging method,
where it is already guarded. 
* implicit management of null values  avoids possible NPEs (see CASSANDRA-631) 

But mostly, when I started this patch there were no direct references to log4j-specific classes
in the code, so cassandra deployments could use any of the underlying slf4j adapters for ease
of integration with existing code without going into multiple loggers madness. We, for example,
prefer logback ( http://logback.qos.ch/ ). 

I understand this is not really compelling though, but I was suggested to provide a patch
and so I did it, I won't take it badly if it's not merged :)

> Migrate to slf4j from log4j in cassandra code
> ---------------------------------------------
>
>                 Key: CASSANDRA-625
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-625
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>         Environment: all
>            Reporter: gabriele renzi
>            Priority: Minor
>             Fix For: 0.7
>
>         Attachments: CASSANDRA-625.patch
>
>
> currently code generated from thrift uses slf4j while cassandra uses raw log4j. 
> There are various level in which this can be changed: 
> * simply switch log4j loggers with slf4j logger (done in patch)
> * replacing log4j-isms (e.g. string concatenation+isFooEnabled in all code paths) with
slf4j-isms (marker string + additional arguments)
> * remove code that is already available for lsf4j (LogUtils.java, I believe is unnecessary)
> I am posting this as a reminder, I have a half baked patch locally but it needs more
work 

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


Mime
View raw message