日志

Web MVC 中的 DEBUG 级别日志旨在紧凑、最小且人性化。它专注于一遍又一遍有用的高价值信息,而不是仅在调试特定问题时有用的其他信息。

TRACE 级别日志通常遵循与 DEBUG 相同的原则(例如,也不应该是大量的),但可用于调试任何问题。 此外,一些日志消息可能会在 TRACE 与 DEBUG 级别显示不同的详细程度。

良好的日志来自使用日志的经验。如果您发现任何不符合既定目标的内容,请告诉我们。

敏感数据

DEBUG 和 TRACE 日志可能会记录敏感信息。这就是为什么请求参数和头默认被屏蔽, 并且必须通过 MockDispatcherHandler 上的 enableLoggingRequestDetails 属性显式启用它们的完整日志记录。

以下示例显示了如何使用 Java 配置执行此操作:

  • 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");
  }

}