Cómo configurar el nivel de registro
Una noche, iba a iniciar una pequeña función en unos minutos, pero la página siempre reportaba un error 404 y no podía encontrar el motivo a simple vista. Probé varios medios, incluidos puntos de interrupción, reinicios y reempaquetado. Me di unas palmaditas en la cabeza y dije que el código era correcto y que la ruta URL estaba bien. F5 no apareció en innumerables ocasiones.
Muchas veces, cuando me encuentro con errores, cuanto más ansioso estás, más difícil se vuelve. Este fue mi caso. Me tomó una o dos horas y eran casi las 0 en punto. Esta vez utilicé la última opción. El método es introducir directamente el código fuente de Spring y depurarlo paso a paso. Parece que no hay problema, por lo que no podemos profundizar y comenzar con Spring.
En este momento, de repente pensé en el registro. Por lo general, el nivel de registro en línea es de error y rara vez se cambia localmente. En la mayoría de los casos, es la depuración de puntos de interrupción. surgir en el futuro. Así que cambié el nivel de registro del resorte para ver qué empezaba a hacer.
Así que cambié el archivo de configuración log4j, cambié el nivel de registro de springmvc para depurar y, si era un inicio de sesión, cambié el archivo de configuración a un nivel similar.
En este caso, después de iniciar springmvc, se imprimirá el mapa de ruta cargado y cada solicitud también imprimirá los parámetros de la solicitud, la ruta y otra información en detalle.
Luego, después de reiniciar y ver en la consola la ruta impresa y la ruta a la que realmente accedí, quedó claro que estaba a sólo una letra de poder mostrar la página. Miré la hora, ya era la 1 de la madrugada, y en silencio dije en mi mente: WTF: WTF. Luego se quedó dormido.
Nivel de registro razonable
Los registros son algo que usamos con frecuencia, pero muchas veces solo recordamos que los registros pueden ayudar a solucionar problemas cuando encontramos errores en línea y otras situaciones modificando ligeramente el nivel de. En el registro de desarrollo, puede evitar errores de depuración hasta la 1:00 a. m., solo para descubrir que está a solo una letra de la respuesta.
Mi experiencia personal es que en proyectos web, el nivel de registro se depurará desde tres aspectos
Marco Webmvc: springmvc o struts2, verifique principalmente la ruta de solicitud y los parámetros, página 400, 404, verifique si la ruta de solicitud y los parámetros son correctos;
marco de formulario: como mybatis, el nivel de depuración imprimirá sql y parámetros, y cuando hay una excepción de sql, puede localizarla rápidamente a través de log;
Proyecto Mi propio registro comercial, generalmente son muy pocos.
En cuanto a otros proyectos dependientes externamente, puede definirlos según sea necesario. El nivel de registro raíz generalmente es un error; de lo contrario, se mezclarán una gran cantidad de otros registros y será difícil verlos.
Para struts2, el nivel de registro se define así.
Por supuesto, este es un archivo de configuración en formato xml.
Si es un atributo, debe hacer esto
log4j.logger.com.opensymphony.xwork2=debug
Se puede hacer referencia a mybatis sql de la siguiente manera
log4j.logger com.ibatis=depurar
log4j.logger.com.ibatis=depurar
log4j.logger.com.ibatis=depurar
log4j .logger.com ibatis=depurar
log4j.logger.java.sql.Connection=depurar
log4j.logger.java.sql.PreparedStatement=depurar