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

Reply via email to