Red de conocimiento informático - Conocimiento informático - Identificar y configurar el ID de solicitud

Identificar y configurar el ID de solicitud

Cada solicitud que participa en el proyecto de la empresa tiene el ID de solicitud escrito en el encabezado de respuesta y el inicio de sesión se utiliza en el proyecto Springboot para imprimir en el registro, lo cual es muy conveniente para rastrear problemas. Aunque este proyecto no utiliza microservicios distribuidos, trae beneficios. Ya es muy obvio. Al solucionar problemas, puede buscar el archivo de registro del servidor viendo el encabezado de solicitud de ID de solicitud recibida en la consola del navegador para localizar rápidamente el problema.

Cuando se utiliza Springboot para desarrollar aplicaciones distribuidas, muchas de ellas son microservicios. Cuando llega una solicitud, es posible que deba llamar a varios servicios para completar la operación de solicitud. Al consultar registros, especialmente cuando hay una gran cantidad de solicitudes, hay tantos registros que es difícil encontrar el registro correspondiente a la solicitud, lo que genera problemas como dificultad para localizar situaciones anormales y dificultad para rastrear registros. Para resolver estos problemas, Logback proporciona MDC (Contextos de diagnóstico mapeados), que permite a los desarrolladores colocar mensajes en contextos de diagnóstico. Estos contextos están aislados internamente entre sí y utilizan ThreadLocal para administrar la información de contexto de cada hilo. Al cerrar sesión, la configuración en el MDC se puede generar usando el identificador X{key}. Por lo tanto, al rastrear solicitudes en aplicaciones distribuidas, la idea de implementación es la siguiente:

?Utilice un interceptor para agregar un identificador de solicitud al MDC antes de que se emita la solicitud y borre el identificador de solicitud después de que se complete la solicitud. . La definición de clase es la siguiente:

Filtro adicional: CommonsRequestLoggingFilter

Al heredar esta clase, puede imprimir registros para solicitudes

Springboot implementa logback como un registro mediante predeterminado, y finalmente en Simplemente configúrelo en el archivo application-xxx.yml:

En el archivo application-xxx.yml: