Steve Loughran created HADOOP-9864:
--------------------------------------
Summary: Adopt SLF4Js over commons-logging
Key: HADOOP-9864
URL: https://issues.apache.org/jira/browse/HADOOP-9864
Project: Hadoop Common
Issue Type: Improvement
Affects Versions: 3.0.0
Reporter: Steve Loughran
This is fairly major, but it's something to raise. Commons-logging is used as
frozen front end to log4k with a pre-java5-varargs syntax, forcing us to wrap
every log event with an {{if (log.isDebugEnabled()}} clause.
SLF4J
# is the new de-facto standard Java logging API
# does use varags for on-demand stringification {{log.info("routing to {}
, host)}}
# bridges to Log4J
# hooks up direct to logback, which has a reputation for speed through less
lock contention
# still supports the same {{isDebugEnabled()}} probes, so commons-logging based
classes could switch to SLF4J merely by changing the type of the {{LOG}} class.
Hadoop already depends on SLF4J for jetty support, hadoop-auth uses it directly.
This JIRA merely proposes making a decision on whether to adopt SL4J -and if
so, how to roll it out.
The least-disruptive roll-out strategy would be to mandate it on new modules,
then switch module-by-module in the existing code.
We'd also need to find all those tests that dig down to log4j directly, and
make sure that they can migrate to the new APIs.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira