¿Cómo hacer que Jersey use SLF4J en lugar de JUL?
He encontradoun articulo util eso explica cómo hacer que Jersey use SLF4J en lugar de JUL. Ahora mi prueba unitaria se ve (y funciona perfectamente):
public class FooTest extends JerseyTest {
@BeforeClass
public static void initLogger() {
java.util.logging.Logger rootLogger =
java.util.logging.LogManager.getLogManager().getLogger("");
java.util.logging.Handler[] handlers = rootLogger.getHandlers();
for (int i = 0; i < handlers.length; i++) {
rootLogger.removeHandler(handlers[i]);
}
org.slf4j.bridge.SLF4JBridgeHandler.install();
}
public FooTest() {
super("com.XXX");
}
@Test
public void testSomething() throws Exception {
// ...
}
}
Mipom.xml
incluye estas dependencias:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
Funciona perfectamente, pero no quiero hacer la misma configuración en cada prueba unitaria. Es una duplicación de código obvia, que me gustaría evitar. ¿Cómo puedo hacer esto de manera más efectiva?
PD. ¿Quizás no es posible optimizar el código anterior y estoy haciendo lo mejor que puedo?