对于最新的稳定版本,请使用 Spring Framework 6.2.0spring-doc.cadn.net.cn

Logging

Spring MVC 中的 DEBUG 级日志记录被设计为紧凑、最小和 人性化。它侧重于有用的高价值信息 over again 与仅在调试特定问题时有用的其他方法进行验证。spring-doc.cadn.net.cn

TRACE 级别的日志记录通常遵循与 DEBUG 相同的原则(例如,还遵循 不应是消防水带),但可用于调试任何问题。此外,一些日志 消息在 TRACE 和 DEBUG 中可能显示不同级别的详细信息。spring-doc.cadn.net.cn

良好的日志记录来自使用日志的经验。如果您发现任何 未达到既定目标,请告诉我们。spring-doc.cadn.net.cn

敏感数据

DEBUG 和 TRACE 日志记录可能会记录敏感信息。这就是为什么请求参数和 默认情况下,标头是屏蔽的,并且必须显式启用其完整日志记录 通过enableLoggingRequestDetails属性DispatcherServlet.spring-doc.cadn.net.cn

以下示例演示如何使用 Java 配置执行此作:spring-doc.cadn.net.cn

public class MyInitializer
		extends AbstractAnnotationConfigDispatcherServletInitializer {

	@Override
	protected Class<?>[] getRootConfigClasses() {
		return ... ;
	}

	@Override
	protected Class<?>[] getServletConfigClasses() {
		return ... ;
	}

	@Override
	protected String[] getServletMappings() {
		return ... ;
	}

	@Override
	protected void customizeRegistration(ServletRegistration.Dynamic registration) {
		registration.setInitParameter("enableLoggingRequestDetails", "true");
	}

}
class MyInitializer : AbstractAnnotationConfigDispatcherServletInitializer() {

	override fun getRootConfigClasses(): Array<Class<*>>? {
		return ...
	}

	override fun getServletConfigClasses(): Array<Class<*>>? {
		return ...
	}

	override fun getServletMappings(): Array<String> {
		return ...
	}

	override fun customizeRegistration(registration: ServletRegistration.Dynamic) {
		registration.setInitParameter("enableLoggingRequestDetails", "true")
	}
}