El registro en el nivel DEBUG en Spring MVC está diseñado para ser compacto, minimalista y amigable para los humanos. Se centra en fragmentos de información que tienen un valor particularmente alto y que se utilizan una y otra vez, a diferencia de otros que sólo se utilizan al depurar un problema específico.

El registro a nivel de TRACE generalmente sigue los mismos principios que DEBUG (y, por ejemplo, tampoco debe sobrecargarse), pero puede usarse para depurar cualquier problema. Además, algunos mensajes de registro pueden mostrar diferentes niveles de detalle en el nivel TRACE en comparación con el nivel DEBUG.

El registro adecuado depende de la experiencia en el uso de registros. Si nota algo que no cumple con nuestros objetivos establecidos, háganoslo saber.

Datos confidenciales

Puede utilizar el registro en los niveles DEBUG y TRACE para capturar información confidencial. Esta es la razón por la que los parámetros y encabezados de solicitud están enmascarados de forma predeterminada, y su registro completo debe habilitarse explícitamente a través de la propiedad enableLoggingRequestDetails para DispatcherServlet.

El siguiente ejemplo muestra cómo hacer esto usando la configuración de Java:

Java
clase pública MyInitializer
        extiende AbstractAnnotationConfigDispatcherServletInitializer {
    @Anular
    Clase protegida<?>[] getRootConfigClasses() {
        devolver ... ;
    }
    @Anular
    Clase protegida<?>[] getServletConfigClasses() {
        devolver ... ;
    }
    @Anular
    Cadena protegida[] getServletMappings() {
        devolver ... ;
    }
    @Anular
    protected void personalizarRegistration(ServletRegistration.Registro dinámico) {
        registro.setInitParameter("enableLoggingRequestDetails", "true");
    }
}
Kotlin
clase MyInitializer: AbstractAnnotationConfigDispatcherServletInitializer() {
    anular la diversión getRootConfigClasses(): Array<Class<*>>? {
        devolver ...
    }
    anular la diversión getServletConfigClasses(): Array<Class<*>>? {
        devolver ...
    }
    anular divertido getServletMappings(): Array<String> {
        devolver ...
    }
    anular divertido personalizarRegistration(registro: ServletRegistration.Dynamic) {
        registro.setInitParameter("enableLoggingRequestDetails", "true")
    }
}