Red de conocimiento informático - Consumibles informáticos - La razón por la que Alibaba fuerza el uso del marco de registro SLF4J

La razón por la que Alibaba fuerza el uso del marco de registro SLF4J

Creo que todo el mundo ha utilizado registros. Aunque los registros parecen prescindibles, serán más problemáticos cuando surjan problemas. Por lo tanto, si el marco de registro se usa bien o no, está estandarizado, lo que afecta directamente la eficiencia de la resolución de problemas en el entorno de producción. La mala selección y el uso del marco de registro pueden afectar el rendimiento del entorno y la dificultad de solucionar problemas.

Manual de desarrollo de Java de Alibaba: artículo 1 de especificación de registro:

Las aplicaciones forzadas no pueden usar directamente la API en el sistema de registro (Log4j, Logback), pero deben confiar en el uso del registro. framework SLF4J La API en la API utiliza el marco de registro en modo fachada, que favorece el mantenimiento y la unificación de los métodos de procesamiento de registros para cada clase.

Ejemplo de código:

¿Por qué existe esta especificación? Primero comprendamos el marco de registro.

El marco de registro en Java se divide en las siguientes categorías:

Centrémonos en la descripción oficial de Slf4j

¿Por qué Alibaba confía enérgicamente en el marco de registro? ¿SLF4J? Características de API o Slf4j: además de beneficiarse de la programación orientada a interfaz (usando el modo fachada), también hay una característica que admite marcadores de posición y el ecosistema SELF4J (uniendo SLF4J con otros componentes de registro)

El modo fachada oculta la complejidad del sistema desde el exterior y proporciona una interfaz accesible para el cliente. La ventaja del modo fachada es que acopla libremente al cliente y al subsistema, lo que facilita la expansión y el mantenimiento del subsistema.

Son precisamente las características del modo fachada que cuando se usa la fachada SLF4J, no importa si el componente de registro usa log4j o logback, etc., a la persona que llama no le importa qué componente de registro se usa, y para Para reemplazar o actualizar el componente de registro, no es necesario realizar ninguna modificación en el lugar donde se llama.

Hay una característica importante en SLF4J: el marcador de posición, {} se puede usar para unir cualquier cadena. En comparación con otros marcos, la ventaja es que no es necesario usarlo para unir cadenas y no es nuevo. Se crearán caracteres.

Notas de uso:

Consejos:

Al lanzar SDK o marco de servicio, siga la idea de programación orientada a interfaz y no utilice la implementación SLF4J. clases Para la liberación y transmisión descendente, la clase de implementación SLF4J se puede controlar a través del alcance de Maven para evitar la transmisión descendente.

Lo anterior es una explicación de las razones y puntos a tener en cuenta al utilizar SLF4J.

Hay una imagen en el Manual de Slf4j que muestra claramente el método de acceso, de la siguiente manera:

slf4j vinculado a otros marcos de registro

slf4j vinculado a la redirección de registros

p>

Al utilizar el puente slf4j, tenga cuidado de evitar formar un bucle infinito. No tenga las siguientes condiciones en los paquetes jar de los que depende el proyecto.

Para. Para comprender mejor SLF4J, es necesario comprender el mecanismo de carga de clases JVM.

Modos de diseño: modo fachada, modo puente. Aquí se ignora el proceso de análisis del código fuente.