La mejor manera de registrar excepciones cuando las pruebas fallan (por ejemplo, usando una regla junit)

Cuando estoy ejecutando un conjunto de pruebas completo, sería útil si aparecieran en mi registro (SLF4J-) las excepciones que provocaron el fallo de una prueba. ¿Cuál es el mejor método para lograr esto?

Lo que me gustaría

es una regla junit4 que maneja el registro de excepciones para mí. El códig

@Rule
public TestRule logException = new TestWatcher() {
    @Override
    public void failed(Description d) {
        catch (Exception e) {
            logger.error("Test ({}) failed because of exception {}", d, e);
            throw e;
        }
    }
}

por supuesto no funciona, ya que solo puedo detectar excepciones de un bloque de prueba. ¿Hay alguna solución para lograr esto de una manera similarmente simple y general?

BTW, lo que estoy haciendo ahora

está registrando la excepción en el momento en que se crea. Pero sería mejor registrar excepciones en la interfaz entre la persona que llama y la biblioteca, así que en mi caso en el caso de prueba. No iniciar sesión cuando se crean las excepciones también garantizaría que no aparezcan varias veces cuando la persona que llama decida iniciar sesión.

Respuestas a la pregunta(3)

Su respuesta a la pregunta