¿Qué frasco?
LogFactory proviene del paquete de registro público. Si usa LogFactory.getLog, puede reemplazar log4j con cualquier registrador que implemente la interfaz de registro común y el programa no se verá afectado. El paquete de registro común de Apache es una interfaz de registro general a través de la cual puede especificar qué sistema de registro utilizar. Incrementar la flexibilidad del sistema. Si log4j no existe, commons-logging elegirá otra clase de implementación de registro. Esto garantiza que log4j no se utilice necesariamente dentro del programa.
Razones para aumentar la flexibilidad:
1) Primero busque su propio archivo de configuración commons-Logging.properties en el classpath. Si lo encuentra, use la clase de implementación de registro definida en él; /p>
2) Si no se puede encontrar el archivo commons-Logging.properties, verifique si se ha definido la variable de entorno del sistema org.apache.commons.logging.Log. Si se encuentra, use el registro definido para implementar la clase. ;
3) De lo contrario, verifique si hay un paquete Log4j en la ruta de clase. Si es así, use Log4j automáticamente como clase de implementación de registro
4) De lo contrario, use el JDK; propia clase de implementación de registro (Log La clase de implementación estará disponible después de JDK1.4);
5) De lo contrario, utilice el registro simple proporcionado por commons-logging para implementar la clase de registro simple;
Para simplificar la configuración de commons-logging, generalmente no se utiliza el archivo de configuración de commons-logging y las variables de entorno del sistema relacionadas con commons-logging no se configuran. Solo el paquete Jar de Log4j se coloca en classpash. . De esta manera, simplemente se completa la integración de commons-logging y Log4j.
Según los diferentes atributos, la información de registro generalmente se divide en diferentes niveles, de menor a mayor: depuración, información, advertencia, error y error fatal.
Modo de operación basado en registro común:
Organización de empaquetado;
Importar org.Apache.commons.logging.log;
Importar org . Apache . log4j . logger;
Soporte de etiqueta de extensión de prueba de clase pública {
Registro estático público = Log factory (prueba . class); p>Prueba de vacío estático público()
{
log . p> p>
log .warn(" 485 ");
log error(" error "); principal( Cadena[] a)
{
prueba . prueba();
}
}
Basado en el modo operativo Log4j
Importar org. Apache. log4j. logger;
Importar org. log4j configurador de propiedades;
Clase pública TestLog4j.
p>
Logger estático Logger = Logger . get Logger(testlog 4j . class);
Public static void main(String args[]) {
configurador de propiedades. configure( " log4j . properties ");
logger.debug("Aquí hay algo de depuración");
logger.info("Aquí hay información"
logger.warn("Aquí hay algunos ADVERTENCIAS");
logger.error("Aquí hay algunos errores");
logger.fatal ("Aquí hay algunos fatales ");
}
}
-
Commons-LOGging solo envuelve log4j (por supuesto también incluye otras implementaciones de registros), específicamente La salida del registro se entrega a Log4j detrás para su procesamiento. De forma predeterminada, Log4j irá al directorio de clases para buscar el archivo log4j.properties.