Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
Linux/WebSphere
Description
LogbackMDCAdapter.get(String key) returns NULL, after Thread.sleep(..).
Code example:
package test.test.testLogger12;
import java.util.concurrent.ExecutorService;
.....
public class LoggerTest {
...
public void init()
{ ...... System.out.println("I'm here"); logger.info(0, "TestLogger started"); logger.addThreadContext("MyLoggerContext"); ExecutorService nativExecutor = executorService.allocateAndGetExecutorService("AA", ExecutorPlatformType.JAVA, ExecutorType.THREAD_POOL, 5, 11, 5, 1000); nativExecutor.execute(new NativeRunnable(loggerApi)); nativExecutor.execute(new NativeRunnable(loggerApi)); nativExecutor.execute(new NativeRunnable(loggerApi)); nativExecutor.execute(new NativeRunnable(loggerApi)); nativExecutor.execute(new NativeRunnable(loggerApi)); } //////////////////////////runnables////////////////////////////
private static int threadCounter = 0;
public static class NativeRunnable implements Runnable {
private ILogger logger;
public NativeRunnable(LoggerApi loggerApi)
public void run() {
logger.addThreadContext("NATIVE_WORKER "threadCounter+);
logger.info(0, "NATIVE PHOENIX IN");
try
catch (InterruptedException e)
{ e.printStackTrace(); }finally
{ logger.info(0, "NATIVE PHOENIX OUT"); logger.removeThreadContext(); } }
}
}
Output example:
2013-08-05 18:58:15.431 +0300, I, AA-thread-1, testLogger12.testLogger12-business-logic, NATIVE_WORKER 5, NATIVE Alona PHOENIX IN
2013-08-05 18:58:15.431 +0300, I, AA-thread-3, testLogger12.testLogger12-business-logic, NATIVE_WORKER 6, NATIVE Alona PHOENIX IN
2013-08-05 18:58:15.431 +0300, I, AA-thread-2, testLogger12.testLogger12-business-logic, NATIVE_WORKER 7, NATIVE Alona PHOENIX IN
2013-08-05 18:58:15.431 +0300, I, AA-thread-4, testLogger12.testLogger12-business-logic, NATIVE_WORKER 8, NATIVE Alona PHOENIX IN
2013-08-05 18:58:15.431 +0300, I, AA-thread-5, testLogger12.testLogger12-business-logic, NATIVE_WORKER 9, NATIVE Alona PHOENIX IN
2013-08-05 18:58:15.443 +0300, I, AA-thread-1, testLogger12.testLogger12-business-logic, NATIVE_WORKER 9, NATIVE Alona PHOENIX OUT
2013-08-05 18:58:15.443 +0300, I, AA-thread-3, testLogger12.testLogger12-business-logic, NATIVE Alona PHOENIX OUT
2013-08-05 18:58:15.443 +0300, I, AA-thread-2, testLogger12.testLogger12-business-logic, NATIVE Alona PHOENIX OUT
2013-08-05 18:58:15.443 +0300, I, AA-thread-4, testLogger12.testLogger12-business-logic, NATIVE Alona PHOENIX OUT
2013-08-05 18:58:15.444 +0300, I, AA-thread-5, testLogger12.testLogger12-business-logic, NATIVE Alona PHOENIX OUT
The context key is : NATIVE_WORKER #
{number}, when thread is out it is absent!
Thank you,
Alona