the - logger java
¿Diferencia entre Logger.getLogger(className) y LogFactory.getLog(className)? (1)
Sé que es una diferencia de paquete
1) org.apache.log4j.Logger logger = Logger.getLogger(clazz);
2) org.apache.commons.logging.Log log = LogFactory.getLog(clazz);
El primero usa registradores a través de log4j
y el segundo usa commons.logging
. Tenemos un gran proyecto donde, en algunas clases, los registradores se configuran utilizando log4j
y en algunos casos su commons.logging
.
Aunque encontré un archivo de propiedades log4j. ¿Hay un archivo de propiedades similar para commons.logging
? ¿Dónde configuro para el registro de commons? No puedo ver los registros generados por el registro de los commons-logging
.
Cualquier ayuda es apreciada.
Sí, commons-logging es una API de fachada que se supone que te abstrae del marco de registro subyacente (en la práctica, había una opción entre log4j y java.util.logging
) para que pudieras cambiar de una a otra sin tocar el código, simplemente cambiando las bibliotecas disponibles en el CLASSPATH.
Desafortunadamente, debido a algunos errores de diseño, tenía problemas con los complejos entornos de carga de clases, como los servidores de aplicaciones. Actualmente es superado efectivamente por slf4j .
En su caso, recomendaría quedarse con una API, ya sea Log4J o commons-logging, aunque el logons-logging delegará (probablemente) a log4J. También puede migrar para usar SLF4J e instalar las API de puente, pero esto es un poco más avanzado.