2011-03-22 27 views
8

¿Puedo obtener un registrador ficticio de slf4j? (Piense en el patrón de diseño de objeto nulo.) Si es así, ¿alguien puede dar un ejemplo? ¿O tendré que implementar un registrador personalizado si quiero hacer eso?Obtener un registrador slf4j ficticio?

que espero escribir una función en la línea de

private Logger logger; 
static Logger nullLogger; 

static { 
    nullLogger = getMeADummyLogger(); 
} 

public Logger getLogger() { 
    return this.logger == null ? nullLogger : this.logger; 
} 

// then, elsewhere: 
this.getLogger().info("something just happened"); 

y no conseguir un NullPointerException en esa última línea, si no se ha establecido registrador.

Respuesta

15

Uso NOPLogger:

return this.logger == null ? NOPLogger.NOP_LOGGER : this.logger; 
Cuestiones relacionadas