[ 
https://issues.apache.org/jira/browse/HADOOP-6884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899500#action_12899500
 ] 

Tsz Wo (Nicholas), SZE commented on HADOOP-6884:
------------------------------------------------

>The way you'd write this is:
>
>LOG.debug("a={} b={} c={}", a, b, c);

Dong, I have checked the [slf4j Logger 
API|http://www.slf4j.org/apidocs/org/slf4j/Logger.html] but does find a method 
like that.  There is one requiring creating an array, debug(String format, 
Object[] argArray).  From [the FAQ 
link|http://www.slf4j.org/faq.html#logging_performance] you provided earlier, 
it also suggests creating an array in this case.  Below is quoted from the FAQ.
{quote}
If three or more arguments need to be passed, you can make use of the Object[] 
variant. For example, you can write:

logger.debug("Value {} was inserted between {} and {}.", new Object[] {newVal, 
below, above});
{quote}


> Add LOG.isDebugEnabled() guard for each LOG.debug("...")
> --------------------------------------------------------
>
>                 Key: HADOOP-6884
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6884
>             Project: Hadoop Common
>          Issue Type: Improvement
>    Affects Versions: 0.22.0
>            Reporter: Erik Steffl
>            Assignee: Erik Steffl
>             Fix For: 0.22.0
>
>         Attachments: HADOOP-6884-0.22-1.patch, HADOOP-6884-0.22.patch
>
>
> Each LOG.debug("...") should be executed only if LOG.isDebugEnabled() is 
> true, in some cases it's expensive to construct the string that is being 
> printed to log. It's much easier to always use LOG.isDebugEnabled() because 
> it's easier to check (rather than in each case reason whether it's necessary 
> or not).

-- 
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