Jenkins build is back to stable : Log4j 2 2.x #3521

2018-07-03 Thread Apache Jenkins Server
See 



Jenkins build became unstable: Log4j 2 2.x #3520

2018-07-03 Thread Apache Jenkins Server
See 




Jenkins build became unstable: Log4j 2 3.x #110

2018-07-03 Thread Apache Jenkins Server
See 




[jira] [Resolved] (LOG4J2-2364) ReusableParameterizedMessage memory leak: throwable, varargs

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak resolved LOG4J2-2364.
--
Resolution: Fixed

> ReusableParameterizedMessage memory leak: throwable, varargs
> 
>
> Key: LOG4J2-2364
> URL: https://issues.apache.org/jira/browse/LOG4J2-2364
> Project: Log4j 2
>  Issue Type: Improvement
>Affects Versions: 2.11.0
>Reporter: Carter Kozak
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> ReusableParameterizedMessage throwable and varargs are not reset between 
> usages, allowing references to be held past when events are logged.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (LOG4J2-2364) ReusableParameterizedMessage memory leak: throwable, varargs

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak closed LOG4J2-2364.


Verified with a previously failing unit test.

> ReusableParameterizedMessage memory leak: throwable, varargs
> 
>
> Key: LOG4J2-2364
> URL: https://issues.apache.org/jira/browse/LOG4J2-2364
> Project: Log4j 2
>  Issue Type: Improvement
>Affects Versions: 2.11.0
>Reporter: Carter Kozak
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> ReusableParameterizedMessage throwable and varargs are not reset between 
> usages, allowing references to be held past when events are logged.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2364) ReusableParameterizedMessage memory leak: throwable, varargs

2018-07-03 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531950#comment-16531950
 ] 

ASF subversion and git services commented on LOG4J2-2364:
-

Commit 2eb63119eed1f9a5a7d7bb25b1b55d4a147f10b1 in logging-log4j2's branch 
refs/heads/release-2.x from [~ckozak]
[ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=2eb6311 ]

LOG4J2-2364 Fix ReusableParameterizedMessage memory leak

Implement Clearable interface for reusable messages, making it
easier to clear references between usages.

This closes #186


> ReusableParameterizedMessage memory leak: throwable, varargs
> 
>
> Key: LOG4J2-2364
> URL: https://issues.apache.org/jira/browse/LOG4J2-2364
> Project: Log4j 2
>  Issue Type: Improvement
>Affects Versions: 2.11.0
>Reporter: Carter Kozak
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> ReusableParameterizedMessage throwable and varargs are not reset between 
> usages, allowing references to be held past when events are logged.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2364) ReusableParameterizedMessage memory leak: throwable, varargs

2018-07-03 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531943#comment-16531943
 ] 

ASF subversion and git services commented on LOG4J2-2364:
-

Commit f49c60f0f9d5a2670695438583a1b18c85b1aa64 in logging-log4j2's branch 
refs/heads/master from [~ckozak]
[ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=f49c60f ]

LOG4J2-2364 Fix ReusableParameterizedMessage memory leak

Implement Clearable interface for reusable messages, making it
easier to clear references between usages.

This closes #186


> ReusableParameterizedMessage memory leak: throwable, varargs
> 
>
> Key: LOG4J2-2364
> URL: https://issues.apache.org/jira/browse/LOG4J2-2364
> Project: Log4j 2
>  Issue Type: Improvement
>Affects Versions: 2.11.0
>Reporter: Carter Kozak
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> ReusableParameterizedMessage throwable and varargs are not reset between 
> usages, allowing references to be held past when events are logged.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2364) ReusableParameterizedMessage memory leak: throwable, varargs

2018-07-03 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531944#comment-16531944
 ] 

ASF GitHub Bot commented on LOG4J2-2364:


Github user asfgit closed the pull request at:

https://github.com/apache/logging-log4j2/pull/186


> ReusableParameterizedMessage memory leak: throwable, varargs
> 
>
> Key: LOG4J2-2364
> URL: https://issues.apache.org/jira/browse/LOG4J2-2364
> Project: Log4j 2
>  Issue Type: Improvement
>Affects Versions: 2.11.0
>Reporter: Carter Kozak
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> ReusableParameterizedMessage throwable and varargs are not reset between 
> usages, allowing references to be held past when events are logged.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] logging-log4j2 pull request #186: LOG4J2-2364 Fix ReusableParameterizedMessa...

2018-07-03 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/logging-log4j2/pull/186


---


[jira] [Commented] (LOG4J2-1721) Composite configuration using log4jConfiguration context parameter

2018-07-03 Thread Phokham Nonava (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-1721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531931#comment-16531931
 ] 

Phokham Nonava commented on LOG4J2-1721:


I have verified this patch on the release-2.x branch. It works as expected. I 
guess, [~rpastrie] might not be into this anymore. So I would suggest that we 
close this issue. Thanks [~ralph.go...@dslextreme.com] for merging the PR.

> Composite configuration using log4jConfiguration context parameter
> --
>
> Key: LOG4J2-1721
> URL: https://issues.apache.org/jira/browse/LOG4J2-1721
> Project: Log4j 2
>  Issue Type: Improvement
>  Components: Configurators, Web/Servlet
>Affects Versions: 2.7
>Reporter: Pastrie
>Priority: Major
>  Labels: features
> Fix For: 2.11.1
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> Log4j allows multiple configuration files to be used by specifying them as a 
> list of comma separated file paths on log4j.configurationFile property. This 
> feature is not available in web environment since the  log4jConfiguration 
> context parameter accepts a single Path/File/URI.
> My proposal is to apply some small changes in the Log4jWebInitializerImpl 
> class
> - change method getConfigURI to return List instead of URI.
> {code:title=Log4jWebInitializerImpl.java|borderStyle=solid}
> if (configLocation != null) {
>   if (configLocation.contains(",")) {
>   final String[] parts = configLocation.split(",");
>   final List uris = new ArrayList<>(parts.length);
>   for (final String part : parts) {
>   final URL url = servletContext.getResource(part);
>   if (url != null) {
>   final URI uri = url.toURI();
>   LOGGER.debug("getConfigURI found resource [{}] 
> in servletContext at [{}]", uri, configLocation);
>   uris.add(url);
>   }
>   }
>   }
> {code}
> - change method initializeNonJndi 
> {code:title=Log4jWebInitializerImpl.java|borderStyle=solid}
> [...]
> final List listUri = getConfigURI(location);
> this.loggerContext = Configurator.initialize(this.name, 
> this.getClassLoader(), listUri, this.servletContext);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak resolved LOG4J2-2312.
--
Resolution: Fixed

This is fixed on master and the release-2.x branches. I have reproduced the 
failure with a unit test and fixed it.

> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (LOG4J2-2341) JsonLayout not working with AsyncLoggerContextSelector in 2.11.0

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak closed LOG4J2-2341.


Closing this issue out, we can deduplicate verification on LOG4J2-2312.

> JsonLayout not working with AsyncLoggerContextSelector in 2.11.0
> 
>
> Key: LOG4J2-2341
> URL: https://issues.apache.org/jira/browse/LOG4J2-2341
> Project: Log4j 2
>  Issue Type: Bug
>Affects Versions: 2.11.0
>Reporter: Fedor Morozov
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> In version 2.11.0 appenders with JsonLayout don't output json when 
> Log4jContextSelector is set to 
> org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.
> Here is a sample:
> {code:java}
> package ru.yandex.zen;
> import org.apache.log4j.Logger;
> public class LoggerSample {
> public static void main(String[] args) {
> Logger logger = Logger.getLogger("LoggerSample");
> logger.info("Message 1");
> logger.info("Message 2");
> }
> }
> {code}
> {code:java}
> 
> 
> 
>  immediateFlush="false" append="false">
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Without AsyncLoggerContextSelector the log looks like this:
> {code:java}
> ""
> ""
> {code}
> Without AsyncLoggerContextSelector:
> {code:java}
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 1",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 63700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 2",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 71700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {code}
> In our main application Json logger outputs the provided message in quotes, 
> not just an empty string. The problem doesn't appear when using asyncRoot or 
> asyncLogger.
> My dependencies:
> {code:java}
> compile 'org.apache.logging.log4j:log4j-api:2.11.0'
> compile 'org.apache.logging.log4j:log4j-core:2.11.0'
> compile "org.apache.logging.log4j:log4j-1.2-api:2.11.0"
> compile "com.fasterxml.jackson.core:jackson-core:2.9.4"
> compile "com.fasterxml.jackson.core:jackson-databind:2.9.4"
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak updated LOG4J2-2312:
-
Fix Version/s: 2.11.1
   3.0.0

> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (LOG4J2-2341) JsonLayout not working with AsyncLoggerContextSelector in 2.11.0

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak resolved LOG4J2-2341.
--
   Resolution: Fixed
Fix Version/s: 2.11.1
   3.0.0

> JsonLayout not working with AsyncLoggerContextSelector in 2.11.0
> 
>
> Key: LOG4J2-2341
> URL: https://issues.apache.org/jira/browse/LOG4J2-2341
> Project: Log4j 2
>  Issue Type: Bug
>Affects Versions: 2.11.0
>Reporter: Fedor Morozov
>Assignee: Carter Kozak
>Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> In version 2.11.0 appenders with JsonLayout don't output json when 
> Log4jContextSelector is set to 
> org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.
> Here is a sample:
> {code:java}
> package ru.yandex.zen;
> import org.apache.log4j.Logger;
> public class LoggerSample {
> public static void main(String[] args) {
> Logger logger = Logger.getLogger("LoggerSample");
> logger.info("Message 1");
> logger.info("Message 2");
> }
> }
> {code}
> {code:java}
> 
> 
> 
>  immediateFlush="false" append="false">
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Without AsyncLoggerContextSelector the log looks like this:
> {code:java}
> ""
> ""
> {code}
> Without AsyncLoggerContextSelector:
> {code:java}
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 1",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 63700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 2",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 71700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {code}
> In our main application Json logger outputs the provided message in quotes, 
> not just an empty string. The problem doesn't appear when using asyncRoot or 
> asyncLogger.
> My dependencies:
> {code:java}
> compile 'org.apache.logging.log4j:log4j-api:2.11.0'
> compile 'org.apache.logging.log4j:log4j-core:2.11.0'
> compile "org.apache.logging.log4j:log4j-1.2-api:2.11.0"
> compile "com.fasterxml.jackson.core:jackson-core:2.9.4"
> compile "com.fasterxml.jackson.core:jackson-databind:2.9.4"
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2341) JsonLayout not working with AsyncLoggerContextSelector in 2.11.0

2018-07-03 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531849#comment-16531849
 ] 

ASF subversion and git services commented on LOG4J2-2341:
-

Commit b7ac37fa7a2090b978020fb15b19328bf5597039 in logging-log4j2's branch 
refs/heads/release-2.x from [~ckozak]
[ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=b7ac37f ]

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.

This closes #187


> JsonLayout not working with AsyncLoggerContextSelector in 2.11.0
> 
>
> Key: LOG4J2-2341
> URL: https://issues.apache.org/jira/browse/LOG4J2-2341
> Project: Log4j 2
>  Issue Type: Bug
>Affects Versions: 2.11.0
>Reporter: Fedor Morozov
>Assignee: Carter Kozak
>Priority: Major
>
> In version 2.11.0 appenders with JsonLayout don't output json when 
> Log4jContextSelector is set to 
> org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.
> Here is a sample:
> {code:java}
> package ru.yandex.zen;
> import org.apache.log4j.Logger;
> public class LoggerSample {
> public static void main(String[] args) {
> Logger logger = Logger.getLogger("LoggerSample");
> logger.info("Message 1");
> logger.info("Message 2");
> }
> }
> {code}
> {code:java}
> 
> 
> 
>  immediateFlush="false" append="false">
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Without AsyncLoggerContextSelector the log looks like this:
> {code:java}
> ""
> ""
> {code}
> Without AsyncLoggerContextSelector:
> {code:java}
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 1",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 63700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 2",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 71700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {code}
> In our main application Json logger outputs the provided message in quotes, 
> not just an empty string. The problem doesn't appear when using asyncRoot or 
> asyncLogger.
> My dependencies:
> {code:java}
> compile 'org.apache.logging.log4j:log4j-api:2.11.0'
> compile 'org.apache.logging.log4j:log4j-core:2.11.0'
> compile "org.apache.logging.log4j:log4j-1.2-api:2.11.0"
> compile "com.fasterxml.jackson.core:jackson-core:2.9.4"
> compile "com.fasterxml.jackson.core:jackson-databind:2.9.4"
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531848#comment-16531848
 ] 

ASF subversion and git services commented on LOG4J2-2312:
-

Commit b7ac37fa7a2090b978020fb15b19328bf5597039 in logging-log4j2's branch 
refs/heads/release-2.x from [~ckozak]
[ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=b7ac37f ]

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.

This closes #187


> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Assignee: Carter Kozak
>Priority: Major
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (LOG4J2-2366) LoggerContext leak using Log4jLoggerFactory

2018-07-03 Thread Luciano Raineri Marchina (JIRA)
Luciano Raineri Marchina created LOG4J2-2366:


 Summary: LoggerContext leak using Log4jLoggerFactory
 Key: LOG4J2-2366
 URL: https://issues.apache.org/jira/browse/LOG4J2-2366
 Project: Log4j 2
  Issue Type: Bug
  Components: SLF4J Bridge
Affects Versions: 2.11.0
Reporter: Luciano Raineri Marchina
 Attachments: patched_after.hprof.7z, patched_after_waited.hprof.7z, 
patched_before.hprof.7z

Hi all!

We are using log4j2 as the logging framework for our applications.
This is done by using the log4j implementation provided for slf4j.

The problem we are seeing is that after many application redeploys, many 
LoggerContexts are still referenced, even after stopping them.

I've taken many heap dumps of our standalone server and found that many of 
these references are kept by a WeakHashMap<> instantiated in the 
Log4jLoggerFactory. ('registry' attribute of 
org.apache.logging.log4j.spi.AbstractLoggerAdapter)
What happens is that, even when the Map is a WeakHashMap (Where the keys should 
be weakly referenced), it will never be cleared because it's values keep 
references to those same keys.

If you check the heap dumps that i've provided, you can see that most of the 
LoggerContexts (org.mule.runtime.module.launcher.log4j2.MuleLoggerContext) 
states are: STOPPED and even it's loggers configurations are updated to 
NullConfiguration, but the references are kept.

On the other hand, i could remove the references to their contexts for the 
loggers ('context' attribute of org.apache.logging.log4j.core.Logger) when 
those contexts are stopped but the field is final and private, which makes it 
impossible to change for an child class.

For the heapdumps, i took them as follows:
 * deployed application
 * dumped patched_before.hprof
 * redeployed app 10 times
 * dumped patched_after.hprof
 * waited an hour
 * dumped patched_after_waited.hprof

You can see that in _patched_before.hprof_ there are only 4 LoggerContext 
instances while in _patched_after.hprof_ and _patched_after_waited.hprof_  
there are around 16, most of them referenced by a logger that is linked to a 
value in the WeakHashMap mentioned above.

I think that you should, either provide a way to remove entries from that 
'registry', or check for circular dependencies somehow so that they are removed 
by the GC.

Thanks!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531782#comment-16531782
 ] 

ASF GitHub Bot commented on LOG4J2-2312:


Github user asfgit closed the pull request at:

https://github.com/apache/logging-log4j2/pull/187


> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Assignee: Carter Kozak
>Priority: Major
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531780#comment-16531780
 ] 

ASF subversion and git services commented on LOG4J2-2312:
-

Commit 34cc745705b0c33d79ef326032edf9cb212fc26f in logging-log4j2's branch 
refs/heads/master from [~ckozak]
[ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=34cc745 ]

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.

This closes #187


> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Assignee: Carter Kozak
>Priority: Major
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] logging-log4j2 pull request #187: LOG4J2-2312 LOG4J2-2341 Fix jackson layout...

2018-07-03 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/logging-log4j2/pull/187


---


[jira] [Commented] (LOG4J2-2341) JsonLayout not working with AsyncLoggerContextSelector in 2.11.0

2018-07-03 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531781#comment-16531781
 ] 

ASF subversion and git services commented on LOG4J2-2341:
-

Commit 34cc745705b0c33d79ef326032edf9cb212fc26f in logging-log4j2's branch 
refs/heads/master from [~ckozak]
[ https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;h=34cc745 ]

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.

This closes #187


> JsonLayout not working with AsyncLoggerContextSelector in 2.11.0
> 
>
> Key: LOG4J2-2341
> URL: https://issues.apache.org/jira/browse/LOG4J2-2341
> Project: Log4j 2
>  Issue Type: Bug
>Affects Versions: 2.11.0
>Reporter: Fedor Morozov
>Assignee: Carter Kozak
>Priority: Major
>
> In version 2.11.0 appenders with JsonLayout don't output json when 
> Log4jContextSelector is set to 
> org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.
> Here is a sample:
> {code:java}
> package ru.yandex.zen;
> import org.apache.log4j.Logger;
> public class LoggerSample {
> public static void main(String[] args) {
> Logger logger = Logger.getLogger("LoggerSample");
> logger.info("Message 1");
> logger.info("Message 2");
> }
> }
> {code}
> {code:java}
> 
> 
> 
>  immediateFlush="false" append="false">
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Without AsyncLoggerContextSelector the log looks like this:
> {code:java}
> ""
> ""
> {code}
> Without AsyncLoggerContextSelector:
> {code:java}
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 1",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 63700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 2",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 71700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {code}
> In our main application Json logger outputs the provided message in quotes, 
> not just an empty string. The problem doesn't appear when using asyncRoot or 
> asyncLogger.
> My dependencies:
> {code:java}
> compile 'org.apache.logging.log4j:log4j-api:2.11.0'
> compile 'org.apache.logging.log4j:log4j-core:2.11.0'
> compile "org.apache.logging.log4j:log4j-1.2-api:2.11.0"
> compile "com.fasterxml.jackson.core:jackson-core:2.9.4"
> compile "com.fasterxml.jackson.core:jackson-databind:2.9.4"
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (LOG4J2-2365) NameAbbreviator skips first fragments

2018-07-03 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531683#comment-16531683
 ] 

ASF GitHub Bot commented on LOG4J2-2365:


GitHub user undefz opened a pull request:

https://github.com/apache/logging-log4j2/pull/188

LOG4J2-2365 Make NameAbbreviator correctly abbreviate first fragments



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/undefz/logging-log4j2 master

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/logging-log4j2/pull/188.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #188


commit 29578d19ae0e8ab7940e86d92d4244a5f73cd781
Author: Eugene Zimichev 
Date:   2018-07-03T16:56:54Z

LOG4J2-2365 Make NameAbbreviator correctly abbreviate first fragments




> NameAbbreviator skips first fragments
> -
>
> Key: LOG4J2-2365
> URL: https://issues.apache.org/jira/browse/LOG4J2-2365
> Project: Log4j 2
>  Issue Type: Bug
>  Components: Pattern Converters
>Affects Versions: 2.11.0
>Reporter: Eugene Zimichev
>Priority: Major
>
> When I use LoggernPatternConverter in beginning of my layout it outputs as 
> expected
> {code:java}
> {code}
> {code:java}
> c.k.zoo.CuratorEnsembleProvider 16:48:13.175 INFO main | Connecting to 
> ensemble on [localhost]:8080{code}
>  However when I move converter to the end of the layout it stops abbreviating 
> logger name parts.
> {code:java}
> {code}
> {code:java}
> 16:47:38.687 INFO main | com.kamagames.zoo.CuratorEnsembleProvider Connecting 
> to ensemble on [localhost]:8080{code}
>  
> I believe it's caused by code in NameAbbreviator which stops processing first 
> pattern fragments when abbreviated string length is larger than current 
> position in StringBuilder
>  
> {code:java}
> for (int i = 0; i < fragments.length - 1 && pos < original.length(); i++) {
>  pos = fragments[i].abbreviate(sb, pos);
> } {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] logging-log4j2 pull request #188: LOG4J2-2365 Make NameAbbreviator correctly...

2018-07-03 Thread undefz
GitHub user undefz opened a pull request:

https://github.com/apache/logging-log4j2/pull/188

LOG4J2-2365 Make NameAbbreviator correctly abbreviate first fragments



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/undefz/logging-log4j2 master

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/logging-log4j2/pull/188.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #188


commit 29578d19ae0e8ab7940e86d92d4244a5f73cd781
Author: Eugene Zimichev 
Date:   2018-07-03T16:56:54Z

LOG4J2-2365 Make NameAbbreviator correctly abbreviate first fragments




---


[jira] [Commented] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531548#comment-16531548
 ] 

ASF GitHub Bot commented on LOG4J2-2312:


Github user cakofony commented on a diff in the pull request:

https://github.com/apache/logging-log4j2/pull/187#discussion_r199848400
  
--- Diff: log4j-layout-jackson-json/pom.xml ---
@@ -55,6 +55,11 @@
   test-jar
   ${project.version}
 
+
+  com.lmax
+  disruptor
+  test
+
--- End diff --

Required to construct a RingBufferLogEvent


> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Assignee: Carter Kozak
>Priority: Major
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] logging-log4j2 pull request #187: LOG4J2-2312 LOG4J2-2341 Fix jackson layout...

2018-07-03 Thread cakofony
Github user cakofony commented on a diff in the pull request:

https://github.com/apache/logging-log4j2/pull/187#discussion_r199848400
  
--- Diff: log4j-layout-jackson-json/pom.xml ---
@@ -55,6 +55,11 @@
   test-jar
   ${project.version}
 
+
+  com.lmax
+  disruptor
+  test
+
--- End diff --

Required to construct a RingBufferLogEvent


---


[jira] [Commented] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16531537#comment-16531537
 ] 

ASF GitHub Bot commented on LOG4J2-2312:


GitHub user cakofony opened a pull request:

https://github.com/apache/logging-log4j2/pull/187

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/cakofony/logging-log4j2 
LOG4J2-2312_LOG4J2-2341

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/logging-log4j2/pull/187.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #187


commit fd1006b2f26d2c3860ddd907dc8ac9ba7e7239f6
Author: Carter Kozak 
Date:   2018-07-03T15:13:34Z

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.




> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Priority: Major
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (LOG4J2-2312) Using async appender with json layout causes only the message to be written

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak reassigned LOG4J2-2312:


Assignee: Carter Kozak

> Using async appender with json layout causes only the message to be written
> ---
>
> Key: LOG4J2-2312
> URL: https://issues.apache.org/jira/browse/LOG4J2-2312
> Project: Log4j 2
>  Issue Type: Bug
>Reporter: David Knapp
>Assignee: Carter Kozak
>Priority: Major
> Attachments: async_trace.txt, synchronous_trace.txt
>
>
> When using the async appender combined with the JsonLayout, you only get the 
> results of the message being written to the appender.
>  
> I took a look at it seems like this is because RingBufferLogEvent implements 
> ReusableMessage which is where jackson gets the MessageSerializer, whereas 
> the non async LogEvent doesn't, so it gets the BeanSerializer
> Attached are traces, both of which originating from the 
> MessageSerializer.serialize method



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (LOG4J2-2341) JsonLayout not working with AsyncLoggerContextSelector in 2.11.0

2018-07-03 Thread Carter Kozak (JIRA)


 [ 
https://issues.apache.org/jira/browse/LOG4J2-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carter Kozak reassigned LOG4J2-2341:


Assignee: Carter Kozak

> JsonLayout not working with AsyncLoggerContextSelector in 2.11.0
> 
>
> Key: LOG4J2-2341
> URL: https://issues.apache.org/jira/browse/LOG4J2-2341
> Project: Log4j 2
>  Issue Type: Bug
>Affects Versions: 2.11.0
>Reporter: Fedor Morozov
>Assignee: Carter Kozak
>Priority: Major
>
> In version 2.11.0 appenders with JsonLayout don't output json when 
> Log4jContextSelector is set to 
> org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.
> Here is a sample:
> {code:java}
> package ru.yandex.zen;
> import org.apache.log4j.Logger;
> public class LoggerSample {
> public static void main(String[] args) {
> Logger logger = Logger.getLogger("LoggerSample");
> logger.info("Message 1");
> logger.info("Message 2");
> }
> }
> {code}
> {code:java}
> 
> 
> 
>  immediateFlush="false" append="false">
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> Without AsyncLoggerContextSelector the log looks like this:
> {code:java}
> ""
> ""
> {code}
> Without AsyncLoggerContextSelector:
> {code:java}
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 1",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 63700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {
> "thread" : "main",
> "level" : "INFO",
> "loggerName" : "LoggerSample",
> "message" : "Message 2",
> "endOfBatch" : false,
> "loggerFqcn" : "org.apache.log4j.Category",
> "instant" : {
> "epochSecond" : 1527061940,
> "nanoOfSecond" : 71700
> },
> "threadId" : 1,
> "threadPriority" : 5
> }
> {code}
> In our main application Json logger outputs the provided message in quotes, 
> not just an empty string. The problem doesn't appear when using asyncRoot or 
> asyncLogger.
> My dependencies:
> {code:java}
> compile 'org.apache.logging.log4j:log4j-api:2.11.0'
> compile 'org.apache.logging.log4j:log4j-core:2.11.0'
> compile "org.apache.logging.log4j:log4j-1.2-api:2.11.0"
> compile "com.fasterxml.jackson.core:jackson-core:2.9.4"
> compile "com.fasterxml.jackson.core:jackson-databind:2.9.4"
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] logging-log4j2 pull request #187: LOG4J2-2312 LOG4J2-2341 Fix jackson layout...

2018-07-03 Thread cakofony
GitHub user cakofony opened a pull request:

https://github.com/apache/logging-log4j2/pull/187

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/cakofony/logging-log4j2 
LOG4J2-2312_LOG4J2-2341

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/logging-log4j2/pull/187.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #187


commit fd1006b2f26d2c3860ddd907dc8ac9ba7e7239f6
Author: Carter Kozak 
Date:   2018-07-03T15:13:34Z

LOG4J2-2312 LOG4J2-2341 Fix jackson layout with async loggers

AsyncLoggerContextSelector RingBufferLogEvents were not properly
handled by the jackson layout. Currently the jackson layout
implementation requires Log4jLogEvent instances, so we must
convert all other LogEvent implementations into these.




---


[jira] [Created] (LOG4J2-2365) NameAbbreviator skips first fragments

2018-07-03 Thread Eugene Zimichev (JIRA)
Eugene Zimichev created LOG4J2-2365:
---

 Summary: NameAbbreviator skips first fragments
 Key: LOG4J2-2365
 URL: https://issues.apache.org/jira/browse/LOG4J2-2365
 Project: Log4j 2
  Issue Type: Bug
  Components: Pattern Converters
Affects Versions: 2.11.0
Reporter: Eugene Zimichev


When I use LoggernPatternConverter in beginning of my layout it outputs as 
expected
{code:java}
{code}
{code:java}
c.k.zoo.CuratorEnsembleProvider 16:48:13.175 INFO main | Connecting to ensemble 
on [localhost]:8080{code}
 However when I move converter to the end of the layout it stops abbreviating 
logger name parts.
{code:java}
{code}
{code:java}
16:47:38.687 INFO main | com.kamagames.zoo.CuratorEnsembleProvider Connecting 
to ensemble on [localhost]:8080{code}
 

I believe it's caused by code in NameAbbreviator which stops processing first 
pattern fragments when abbreviated string length is larger than current 
position in StringBuilder

 
{code:java}
for (int i = 0; i < fragments.length - 1 && pos < original.length(); i++) {
 pos = fragments[i].abbreviate(sb, pos);
} {code}
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Jenkins build is back to stable : Log4j 2 3.x #108

2018-07-03 Thread Apache Jenkins Server
See 




[jira] [Commented] (LOG4J2-2331) Rolling file appender concatenating debug message instead of using formatting

2018-07-03 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/LOG4J2-2331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16530877#comment-16530877
 ] 

ASF GitHub Bot commented on LOG4J2-2331:


Github user rgoers commented on the issue:

https://github.com/apache/logging-log4j2/pull/172
  
This PR was merged in May but apparently neglected to use the format to 
trigger github to close it.


> Rolling file appender concatenating debug message instead of using formatting
> -
>
> Key: LOG4J2-2331
> URL: https://issues.apache.org/jira/browse/LOG4J2-2331
> Project: Log4j 2
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 2.11.0
> Environment: Any - Mac with log4j 2.11.0 using `-Dlog4j.debug` and a 
> RollingFileAppender
>Reporter: Michael Wells Baranski
>Assignee: Carter Kozak
>Priority: Minor
>  Labels: easyfix
> Fix For: 3.0.0, 2.11.1
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> When debug is on, RollingFileAppender prints the shutdown message and 
> concatenates the name, instead of passing it as an argument to be formatted:
> `"Shutting down RollingFileManager {}" + getName()`
> should be:
> `"Shutting down RollingFileManager {}", getName()`



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] logging-log4j2 issue #172: Fix for https://issues.apache.org/jira/browse/LOG...

2018-07-03 Thread rgoers
Github user rgoers commented on the issue:

https://github.com/apache/logging-log4j2/pull/172
  
This PR was merged in May but apparently neglected to use the format to 
trigger github to close it.


---