java.util.logging.Logger en class probada

Estoy intentando ejecutar una testing para mi class que usa java.util.logging.Logger

import java.util.logging.Logger; public class TestLogging { final Logger logger = Logger.getLogger("Test"); public void f1() { logger.entering(getClass().getName(), "f1"); logger.info("f1"); logger.fine("f1"); logger.finer("f1"); logger.finest("f1"); logger.exiting(getClass().getName(), "f1"); } } 

Así que configuré una class de testing para verificar si el registrador produce una salida mientras se testing la class

 import org.junit.Before import org.junit.Test import java.util.logging.Level import java.util.logging.Logger class TestLogger { @Before fun setupLogger() { Logger.getLogger("Test").level = Level.FINEST } @Test fun test() { TestLogging().f1() } } 

Pero cuando lo ejecuto, solo veo la siguiente salida, como si el nivel estuviera configurado de manera pnetworkingeterminada.

 TestLogger > test STANDARD_ERROR Sep 27, 2017 2:17:32 PM TestLogging f1 INFO: f1 

Debe mantener una fuerte reference a su registrador que sea más amplio que el scope local del método. Si no lo hace, su configuration de nivel se puede perder debido a la recolección de basura del registrador.

Si desea ver el resultado en la console, también debe ajustar el nivel del controller de la console.

Si desea afirmar algún valor de salida, entonces necesita instalar un filter o controller para search un LogRecord específico.