[
https://issues.apache.org/jira/browse/LOG4J2-3009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Volkan Yazici resolved LOG4J2-3009.
-----------------------------------
Resolution: Fixed
> Change of java Thread name is not reflecting in log4j2 logs (pattern %t)
> ------------------------------------------------------------------------
>
> Key: LOG4J2-3009
> URL: https://issues.apache.org/jira/browse/LOG4J2-3009
> Project: Log4j 2
> Issue Type: Bug
> Components: Core, Pattern Converters
> Affects Versions: 2.8.2
> Reporter: Rohan Ramchander
> Priority: Major
> Original Estimate: 336h
> Remaining Estimate: 336h
>
> I have Java based application with a single thread connected to JBOSS MQ.
> Whenever there is a message in the queue then it pulls the message and sets
> the thread name with one of the message's attribute (REQUEST_ID) and
> continues processing. After application startup, the logging is fine for the
> first message. But from the second message, the change in the thread name is
> not reflecting in the logs.
> h2. Example code
> {code:java}
> private static Logger logger =
> LogManager.getLogger(EngineManager.class.getName());
> private synchronized void onMessage(javax.jms.Message msg) {
> Thread.currentThread().setName(msg.getStringProperty("REQUEST_ID"));
> logger.info("Received a Message Event: Time spent:" +
> (System.currentTimeMillis()-msg.getJMSTimestamp()) + "ms");
> // ...
> }
> {code}
> h2. Configuration
> {code:java}
> appender.console.layout.pattern = %d\{ABSOLUTE} %c{1} [%t] - %m%n
> {code}
> h2. Output
> {code:java}
> 19:29:52,726 EngineManager [sddsdsdgdd-dfvdddbfvs-2343412] - Received a
> Message Event: Time spent: 44ms
> {code}
>
> Rest everything is fine that's why I have given small portion of the code.
> What I need is when there is a second message (so on) in the queue then above
> REQUEST_ID should change in the logs. It is always same for all the messages.
> I tried different ways like {{LoggerContext.reconfigure()}},
> {{LogManager.shutdown()}} and then {{getLogger()}} etc but couldn't succeed.
> This used to work fine with log4j 1x where the change in the thread name
> immediately reflects in the logs.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)