Red de conocimiento informático - Problemas con los teléfonos móviles - Seguimiento de registros de SpringBoot

Seguimiento de registros de SpringBoot

Con el desarrollo de los sistemas distribuidos, el proceso de resolución de problemas del análisis de registros se ha vuelto cada vez más complejo. Hoy en día, el sistema ELK se utiliza generalmente para integrar todos los registros del sistema distribuido para su análisis. Se necesita un ID de registro global.

Log4j y Logback proporcionan MDC, que puede realizar el almacenamiento de datos según el nivel ThreadLocal, logrando así la coherencia del traceId de la impresión de registros en el mismo subproceso en el sistema

Nota: si es necesario Para lograr la coherencia del registro en varios subprocesos, traceId se puede transferir pasando parámetros

La función principal de MDC. p>

Utilice [X{traceId}] en el xml de configuración del registro para hacer referencia a la identificación del registro

Si necesita utilizar un grupo de subprocesos o un subproceso asíncrono para procesar negocios, lo mismo El subproceso en el servicio actual será ID de registro, imprime el registro, pase los parámetros usted mismo o realice la transferencia de datos entre subprocesos

Esta es la primera vez que utilizamos grupos de subprocesos o subprocesos asincrónicos para manejar negocios. strong>

Primero use un filtro para obtener el traceId del encabezado de la solicitud y guárdelo en HystrixRequestVariableDefault,

Luego, el interceptor obtiene el traceId y lo agrega al encabezado de la solicitud de RequestTemplate

Este tutorial utiliza la combinación de filtros, interceptores y HystrixRequestVariableDefault para implementar el seguimiento de registros dentro y entre sistemas.