Soy el único mantenedor en una base de código donde el registro se hace usando el registro de Apache commons.¿Se puede justificar el registro no estático?
Todas las clases contiene estos dos importaciones:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
entonces un montón de clases contiene no instanciación registro estático como sigue:
/** The log. */
private Log log = LogFactory.getLog(Xyz.class);
Puede esto ser justificado?
¿Puedo cambiar de forma segura todas estas a llamadas estáticas?
EDITAR En cuanto a los casos especiales en que puede (al parecer) ser muy útil: "¿Puede registro no estática todo el código base será justificado" Mi pregunta es realmente más
Después de leer que la documentación, no está claro para mí lo que está mal con la que se declara un campo de registro como estática, incluso en el entorno cargador de clase compartida. El parámetro de clase LogFactory.getLog() se puede cambiar a una Cadena (Xyz.class.getName()) por una cosa, y aparte de eso, ¿dónde está el daño del registrador al que se accede desde clases con diferentes cargadores de clase de contexto de subprocesos? Los métodos de registro deberían ser seguros para subprocesos de todos modos y si no tienes problemas mayores. ¿Alguien puede proporcionar una descripción clara de lo que puede salir mal con las referencias de registro estáticas? –
@Dov Wasserman Buena pregunta, pero para ser honesto, ni siquiera entiendo el punto de la registración de los bienes comunes. :) – biziclop