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