hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6884) Add LOG.isDebugEnabled() guard for each LOG.debug("...")
Date Thu, 26 Aug 2010 17:27:55 GMT

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

Doug Cutting commented on HADOOP-6884:
--------------------------------------

Scott> This is not much different than just using SLF4J [ ... ]

I too would prefer we simply switch to slf4j.  In performance-critical code that requires
complex log messages we might still ocasionally use isDebugEnabled(), as we might make other
local code optimizations in critical sections.  To be clear, I find Konstantin's approach
acceptable, but feel a move to slf4j would be simpler with essentially the same benefits.


String concatenation is the biggest potential performance problem.  Adding an automated test
that detects string concatenation in log statements would be a good addition.  Before we can
add that test though, we need a logging API that does not require string concatenation and
does not bloat code.  Slf4j and Konstantin's approach both provide one.


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


Mime
View raw message