Spring MVC 的 DEBUG 级日志被设计成紧凑、简约和人性化的。它专注于高价值的信息,这些信息可以反复使用,而其他信息只有在调试特定问题时才有用。
TRACE 级别的日志通常遵循与 DEBUG 相同的原则(例如,也不应该是一条消防水管),但可以用于调试任何问题。此外,一些日志信息在 TRACE 与 DEBUG 下可能会显示不同的细节水平。
好的日志来自于使用日志的经验。如果你发现任何不符合既定目标的地方,请让我们知道。
敏感数据
Sensitive Data
DEBUG 和 TRACE 日志可能会记录敏感信息。这就是为什么请求参数和头信息在默认情况下是被屏蔽的,必须通过 DispatcherServlet 上的enableLoggingRequestDetails
属性明确启用它们的全部日志。
下面的例子显示了如何通过使用 Java 配置来做到这一点:
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");
}
}