Журналирование на уровне DEBUG в Spring MVC спроектировано с учетом обеспечения компактности, минимализма и удобства для человека. Оно фокусируется на битах информации, имеющих особо высокое значение, которые применяются снова и снова, в отличие от других, которые применяются только при отладке конкретной проблемы.
Ведение журнала на уровне TRACE в целом следует тем же принципам, что и DEBUG (и, например, также не должно быть перегруженным), но может быть использовано для отладки любой проблемы. Кроме того, некоторые сообщения в журнале могут демонстрировать разный уровень детализации на уровне TRACE по сравнению с DEBUG.
Надлежащее журналирование зависит от опыта использования журналов. Если вы заметите что-то, что не соответствует заявленным целям, пожалуйста, сообщите нам об этом.
Конфиденциальные данные
С помощью журналирования на уровнях DEBUG и TRACE можно регистрировать конфиденциальную информацию. Именно поэтому параметры и заголовки запроса по умолчанию маскируются, а их полное журналирование должно быть активировано явным образом через свойство enableLoggingRequestDetails
для DispatcherServlet
.
В следующем примере показано, как это сделать с помощью конфигурации 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");
}
}
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")
}
}
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ