Ryan Rupp created LOG4J2-991:
--------------------------------
Summary: Async root logger config is defaulting includeLocation to
true without use of Log4jContextSelector system property
Key: LOG4J2-991
URL: https://issues.apache.org/jira/browse/LOG4J2-991
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.1
Reporter: Ryan Rupp
Priority: Minor
I'm using the approach detailed here -
https://logging.apache.org/log4j/2.x/manual/async.html - under "Mixing
Synchronous and Asynchronous Loggers" where we have the <asyncRoot> appender
defined. I noticed this was slow so looked into it and noticed the location was
being captured but I thought this should default to false for async loggers.
Looking into this, the line here -
https://github.com/apache/logging-log4j2/blob/master/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java#L239
- the call to includeLocation() is actually calling
LoggerConfig.includeLocation() which checks for the existence of the system
property (which we don't have set), therefore include location defaults to
true. I think instead it should be calling the includeLocation() static method
inside of AsyncLoggerConfig here -
https://github.com/apache/logging-log4j2/blob/master/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java#L204
- which would end up defaulting this to false correctly as the includeLocation
value is actually null since I didn't explicitly configured it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]