From 4b43a8009b399be521dd03c097c8ae07f2c4902e Mon Sep 17 00:00:00 2001 From: Ceki Gulcu Date: Sat, 27 Feb 2016 00:04:46 +0100 Subject: [PATCH] make MultithreadedInitializationTest more robust --- .../impl/MultithreadedInitializationTest.java | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/slf4j-jdk14/src/test/java/org/slf4j/impl/MultithreadedInitializationTest.java b/slf4j-jdk14/src/test/java/org/slf4j/impl/MultithreadedInitializationTest.java index 3e128148f..0014f86f1 100755 --- a/slf4j-jdk14/src/test/java/org/slf4j/impl/MultithreadedInitializationTest.java +++ b/slf4j-jdk14/src/test/java/org/slf4j/impl/MultithreadedInitializationTest.java @@ -33,7 +33,6 @@ import java.util.concurrent.CyclicBarrier; import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Handler; -import java.util.logging.LogManager; import java.util.logging.LogRecord; import org.junit.After; @@ -51,28 +50,25 @@ public class MultithreadedInitializationTest { final CyclicBarrier barrier = new CyclicBarrier(THREAD_COUNT + 1); int diff = new Random().nextInt(10000); - String loggerName = "org.slf4j.impl.MultithreadedInitializationTest"; + String packagePrefix = "org.slf4j.impl.MultithreadedInitializationTest" + diff; - private static java.util.logging.Logger getRootLogger() { - return LogManager.getLogManager().getLogger(""); + java.util.logging.Logger julLogger = java.util.logging.Logger.getLogger(packagePrefix); + + @Before + public void addRecordingHandler() { + julLogger.addHandler(new RecordingHandler()); } @After public void tearDown() throws Exception { - java.util.logging.Logger rootLogger = getRootLogger(); - Handler[] handlers = rootLogger.getHandlers(); + Handler[] handlers = julLogger.getHandlers(); for (int i = 0; i < handlers.length; i++) { if (handlers[i] instanceof RecordingHandler) { - rootLogger.removeHandler(handlers[i]); + julLogger.removeHandler(handlers[i]); } } } - @Before - public void addRecordingHandler() { - getRootLogger().addHandler(new RecordingHandler()); - } - @Test public void multiThreadedInitialization() throws InterruptedException, BrokenBarrierException { System.out.println("THREAD_COUNT=" + THREAD_COUNT); @@ -83,7 +79,7 @@ public void multiThreadedInitialization() throws InterruptedException, BrokenBar accessor.logger.info("post harness"); } - Logger logger = LoggerFactory.getLogger(loggerName + ".slowInitialization-" + diff); + Logger logger = LoggerFactory.getLogger(packagePrefix + ".test"); logger.info("hello"); EVENT_COUNT.getAndIncrement(); @@ -99,9 +95,8 @@ private List getRecordedEvents() { return ra.records; } - RecordingHandler findRecordingHandler() { - java.util.logging.Logger root = LogManager.getLogManager().getLogger(""); - Handler[] handlers = root.getHandlers(); + private RecordingHandler findRecordingHandler() { + Handler[] handlers = julLogger.getHandlers(); for (Handler h : handlers) { if (h instanceof RecordingHandler) return (RecordingHandler) h; @@ -109,7 +104,7 @@ RecordingHandler findRecordingHandler() { return null; } - private static LoggerAccessingThread[] harness() throws InterruptedException, BrokenBarrierException { + private LoggerAccessingThread[] harness() throws InterruptedException, BrokenBarrierException { LoggerAccessingThread[] threads = new LoggerAccessingThread[THREAD_COUNT]; final CyclicBarrier barrier = new CyclicBarrier(THREAD_COUNT + 1); for (int i = 0; i < THREAD_COUNT; i++) { @@ -124,7 +119,7 @@ private static LoggerAccessingThread[] harness() throws InterruptedException, Br return threads; } - static class LoggerAccessingThread extends Thread { + class LoggerAccessingThread extends Thread { final CyclicBarrier barrier; Logger logger; int count; @@ -140,7 +135,7 @@ public void run() { } catch (Exception e) { e.printStackTrace(); } - logger = LoggerFactory.getLogger(this.getClass().getName() + "-" + count); + logger = LoggerFactory.getLogger(packagePrefix + ".LoggerAccessingThread" + count); logger.info("in run method"); EVENT_COUNT.getAndIncrement(); }