public static void logTestClasses(final TestInfo testInfo) {
        if (doTestClassLogging) {
            // As this is running on multiple jvms, it is non-trivial to clear out the dir
            // before we run so need to do it manually
            try {
                if (!Files.isDirectory(TEST_LOG_DIR)) {
                    doTestClassLogging = false;
                }
            } catch (Exception e) {
                doTestClassLogging = false;
            }
            final long threadId = Thread.currentThread().getId();
            final String logLine = Instant.now().toString()
                    + " - "
                    + testInfo.getTestMethod()
                    .map(m -> m.getDeclaringClass().getName() + "#" + m.getName()).orElse("UNKNOWN");

            // Log the line against this thread id
            THREAD_ID_TO_LOG_MAP.computeIfAbsent(threadId, k -> new ArrayList<>())
                    .add(logLine);
        }
    }
Logs the test class and method to a file with the time it was started.
The file name contains the gradle worker id and the thread id, so you
can see which test classes/methods are running on which jvms/threads.
Useful in diagnosing concurrency issues.
stroom-test-common/src/main/java/stroom/test/common/util/TestClassLogger.java