creo que el idioma común para la creación de instancias de java.util.logging.Logger
es la siguiente:¿Cómo se evita que se repita al crear un registrador?
public class SomeClassName {
private static final Logger LOG = Logger.getLogger(SomeClassName.class.getName());
}
Mi IDE gestionará el cambio de la línea apropiada cuando refactorizar mi código (cambiar el nombre de la clase, por ejemplo). Sin embargo, todavía me molesta que tenga que repetir el nombre de la clase. Lo que realmente me gustaría hacer es algo como Logger.getLogger(getName())
o Logger.getLogger(class.getName())
, pero esto no es legal Java en una iniciación estática.
¿Hay una forma mejor de acceder a un registrador que no implique repetirme?
'Logger logger = new logger.getLogger' - ¡Estaría más preocupado por el inminente apocalipsis! –
Para su información, consulte una explicación en las [preguntas frecuentes de sl4j] (http://www.slf4j.org/faq.html#declaration_pattern), marco diferente pero probablemente el mismo razonamiento. – assylias
Gracias, @assylias! Las preguntas frecuentes abordan mi preocupación específica muy claramente. A saber, que "la expresión de la declaración del registrador anterior no es resistente al corte y pegado entre clases". Sin embargo, no proporciona una solución. –