[ https://issues.apache.org/jira/browse/LOG4J2-1588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15535923#comment-15535923 ]
Remko Popma edited comment on LOG4J2-1588 at 9/30/16 12:57 PM: --------------------------------------------------------------- You should be able to control the behavior with [this system property|https://logging.apache.org/log4j/2.x/manual/configuration.html#AsyncLogger.ThreadNameStrategy]: {{AsyncLogger.ThreadNameStrategy}}. Valid values: CACHED, UNCACHED. Default is CACHED. was (Author: rem...@yahoo.com): You should be able to control the behavior with [this system property|https://logging.apache.org/log4j/2.x/manual/configuration.html#AsyncLogger.ThreadNameStrategy]: {{AsyncLogger.ThreadNameStrategy}}. Valid values: CACHED, UNCACHED. > Console or File Logger caches thread name, but not in older log4j2 versions > --------------------------------------------------------------------------- > > Key: LOG4J2-1588 > URL: https://issues.apache.org/jira/browse/LOG4J2-1588 > Project: Log4j 2 > Issue Type: Bug > Affects Versions: 2.6.2 > Environment: Windows, Grizzly HTTP container, SLF4J API, Log4j2 > Reporter: Rainer Schnitker > > Log4j2 2.6.x seems to cache the thread name. A revert to version 2.4.1. > works! This affects synchronous logger: console, RollingFile > My sample code (JAX-RS Filter): > {code} > import java.io.IOException; > import javax.annotation.Priority; > import javax.inject.Inject; > import javax.ws.rs.container.ContainerRequestContext; > import javax.ws.rs.container.ContainerRequestFilter; > import javax.ws.rs.ext.Provider; > import org.glassfish.grizzly.http.server.Request; > import org.slf4j.LoggerFactory; > @Provider > @Priority(Integer.MIN_VALUE) > public class GrizzlyRequestFilter implements ContainerRequestFilter { > @Inject > javax.inject.Provider< Request > provider; > @Override > public void filter( ContainerRequestContext requestContext ) throws > IOException { > Request request = this.provider.get(); > Thread thread = Thread.currentThread(); > thread.setName( request.getRemoteHost() + '/' + thread.getId() ); > > // oops: logger thread name != expected > LoggerFactory.getLogger(GrizzlyRequestFilter.class) > .info( "expected thread name:" + request.getRemoteHost() + '/' + > thread.getId() ); > > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org