ログ
Spring MVC の DEBUG レベルのロギングは、コンパクトで最小限で、人にやさしいように設計されています。特定の課題をデバッグする場合にのみ役立つ他の情報と比較して、何度も役立つ価値の高い情報に焦点を当てています。
TRACE レベルのロギングは、一般に DEBUG と同じ原則に従います(処理しきれないほどの量は避けなければなりません)が、課題のデバッグに使用できます。さらに、一部のログメッセージには、TRACE と DEBUG で異なる詳細レベルが表示される場合があります。
適切なログは、ログを使用した経験から得られます。記載されているゴールを達成できないものを見つけた場合は、お知らせください。
機密データ
DEBUG および TRACE ロギングは、機密情報を記録する場合があります。これが、リクエストパラメーターとヘッダーがデフォルトでマスクされ、DispatcherServlet
の enableLoggingRequestDetails
プロパティを介して明示的にそれらのロギングを完全に有効にする必要がある理由です。
次の例は、Java 構成を使用してこれを行う方法を示しています。
Java
Kotlin
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")
}
}