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

Remko Popma commented on LOG4J2-1116:
-------------------------------------

After giving it some thought, the LoggerContext may the best place to store 
them since its life cycle determines when we want to clean the ThreadLocals. 

We could add a method {{register(Log4jThreadLocal)}} to the log4j-api 
{{LoggerContext}} but that would break binary compatibility. An alternative is 
something like this:

{code}
package org.apache.logging.log4j.util;
...
public class Log4jThreadLocal<T> extends ThreadLocal<T> {
...
    public Log4jThreadLocal() {
        LoggerContext context = LogManager.getContext(false);
        if (context instanceof Log4jThreadLocalRegistry) {
            ((Log4jThreadLocalRegistry) context).register(this);
        }
    }
...
}
{code}

Thoughts?

> upgrade to log4j2 causes too frequent minor gc
> ----------------------------------------------
>
>                 Key: LOG4J2-1116
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1116
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.3
>         Environment: jdk1.6 
> slf4j 1.7.9
> log4j2.3
>            Reporter: Mingjiang Shi
>            Priority: Critical
>         Attachments: Log4jThreadLocal.java
>
>
> We used slf4j+log1.2 in our spring web application. Due to the log4j1.0 
> performance issue, we upgrade it to log4j2. When it goes to production, it 
> experienced very frequent minor gc (once per second) even though the eden 
> area is not full. For example, the eden area just occupied 10%, the minor gc 
> also happens. The issue disappears when rolling back to log4j1.2. 
> Can anyone show some hints on diagnose this issue? Thanks!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to