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

Scott Carey commented on HADOOP-6884:
-------------------------------------

This is not much different than just using SLF4J, the only difference is that 
there would be some extra Object[] creation with SLF4J (which is really not a 
big performance problem, about the same as auto-boxing).  But SLF4J would have 
a much faster and easier to use formatting implementation, and have performance 
benefits for INFO and other debug levels.   

Additionally, we can still create a wrappper around that to add signatures to 
prevent object array creation and/or autoboxing for a limited subset of cases.

In short, why not just use SLF4J's more featured and flexible wrapper and 
either extend that or push for adding a few extra signatures on that side?  It 
even has a tool to go through the source code and change stuff from log4j for 
you.

> 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: FunAgain.java, FunAgain.java, 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