[
https://issues.apache.org/jira/browse/LOG4J2-467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13846340#comment-13846340
]
Gary Gregory commented on LOG4J2-467:
-------------------------------------
Hi Remko,
I find it hard to believe that a method call and one new String per log event
makes a 10% difference. Can you create a benchmark before we go on and make
things even more complicated than they are? 10% of what is also an issue ;)
Gary
> Thread name caching in async logger incompatible with use of Thread.setName()
> -----------------------------------------------------------------------------
>
> Key: LOG4J2-467
> URL: https://issues.apache.org/jira/browse/LOG4J2-467
> Project: Log4j 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0-beta9
> Environment: Debian Squeeze amd64
> OpenJDK 7u25
> Reporter: Anthony Baldocchi
>
> AsyncLogger caches a thread's name in a thread-local info variable. I make
> use of a thread pool where the submitted Runnables call Thread.setName() at
> the beginning of their task and the thread name is included in the log
> message. For an example of this behavior, see
> org.jboss.netty.util.ThreadRenamingRunnable in Netty 3.x. With the cached
> thread name, the log messages will contain whatever name the thread had when
> it logged for the first time and so long as the thread doesn't terminate
> (such as in a core pool thread), all log messages involving this thread will
> be erroneous. If Thread.getName has a significant performance impact for
> async logging, I would be satisfied if this behavior were configurable,
> perhaps on a per-logger basis, so that the penalty only needs to be taken by
> users who make use of Thread.setName()
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]