vogella util practices logger example create best java logging packaging

util - Logger para la biblioteca de Java



logger java example (3)

Si está desarrollando una biblioteca que los demás incluirán en su aplicación, debe usar una fachada de registro . De lo contrario, obligarás a los usuarios de tu biblioteca a configurar e incluir el marco de trabajo de registro que hayas elegido, además del marco que eligieron para su aplicación.

Por ejemplo, si usa log4j pero el desarrollador que usa su biblioteca utiliza logback , deberá incluir un archivo de configuración log4j y el log4j jar (o tomar otras medidas ) para que su biblioteca sea feliz.

Las fachadas de registro resuelven este problema (de Apache Commons Logging):

Al escribir una biblioteca, es muy útil para registrar información. Sin embargo, hay muchas implementaciones de registro, y una biblioteca no puede imponer el uso de una particular en la aplicación general de la que forma parte la biblioteca.

El paquete de registro es un puente ultradelgado entre diferentes implementaciones de registro. Una biblioteca que usa la API de registro de recursos comunes se puede usar con cualquier implementación de registro en tiempo de ejecución. El registro de Commons tiene soporte para varias implementaciones de registro populares, y adaptadores de escritura para otros es una tarea razonablemente simple.

O el razonamiento de SLF4J:

Simple Logging Facade para Java o (SLF4J) sirve como una simple fachada o abstracción para varios marcos de registro, por ejemplo, java.util.logging, log4j y logback, lo que permite al usuario final conectar el marco de trabajo de registro deseado en el momento del despliegue .

Los candidatos para las fachadas de registro son:

Personalmente, recomendaría SLF4J (con Logback ).

Estoy escribiendo una biblioteca que reúne varias funciones que usaré en diferentes aplicaciones. Quiero que genere declaraciones de registro visibles para el usuario de la biblioteca, es decir, si estoy creando una aplicación y estoy usando la biblioteca, quiero que la biblioteca genere declaraciones de registro visibles para mí. ¿Cómo puedo hacer eso? Dado que el desarrollador de la aplicación configurará el archivo de registro, ¿cómo sabrá la biblioteca cómo iniciar sesión?


La ubicación de su archivo de registro se establece fuera del paquete, en una configuración de marco de registro. El archivo de configuración generalmente está en classpath. La forma en que se ve depende del marco de trabajo de registro que utilice; recomiendo ir con SLF4J y Logback .