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