Loading...
Spring Framework Reference Documentation 7.0.2의 Logging의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Spring MVC에서 DEBUG-level 로깅은 간결하고 최소한이며 사람이 읽기 편하도록 설계되어 있습니다. 이는 특정 이슈를 디버그할 때에만 유용한 정보들보다, 반복해서 유용하게 쓰일 수 있는 고가치 정보에 초점을 맞춥니다.
TRACE-level 로깅은 일반적으로 DEBUG와 동일한 원칙을 따르며 (예를 들어, 마찬가지로 fire hose가 되어서는 안 됩니다) 어떤 이슈든 디버그하는 데 사용할 수 있습니다. 추가적으로, 일부 로그 메시지는 DEBUG와 비교했을 때 TRACE에서 다른 수준의 디테일을 보여줄 수 있습니다.
좋은 로깅은 로그를 사용하는 경험에서 나옵니다. 언급된 목표를 충족하지 못하는 부분을 발견하면 알려 주시기 바랍니다.
DEBUG와 TRACE 로깅은 민감한 정보를 로그로 남길 수 있습니다. 이러한 이유로 요청 파라미터와 헤더는 기본적으로 마스킹되며, 전체 로깅은 DispatcherServlet의 enableLoggingRequestDetails 프로퍼티를 통해 명시적으로 활성화해야 합니다.
다음 예제는 Java 설정을 사용해서 이를 수행하는 방법을 보여 줍니다:
1public class MyInitializer 2 extends AbstractAnnotationConfigDispatcherServletInitializer { 3 4 @Override 5 protected Class<?>[] getRootConfigClasses() { 6 return ... ; 7 } 8 9 @Override 10 protected Class<?>[] getServletConfigClasses() { 11 return ... ; 12 } 13 14 @Override 15 protected String[] getServletMappings() { 16 return ... ; 17 } 18 19 @Override 20 protected void customizeRegistration(ServletRegistration.Dynamic registration) { 21 registration.setInitParameter("enableLoggingRequestDetails", "true"); 22 } 23 24}
1class MyInitializer : AbstractAnnotationConfigDispatcherServletInitializer() { 2 3 override fun getRootConfigClasses(): Array<Class<*>>? { 4 return ... 5 } 6 7 override fun getServletConfigClasses(): Array<Class<*>>? { 8 return ... 9 } 10 11 override fun getServletMappings(): Array<String> { 12 return ... 13 } 14 15 override fun customizeRegistration(registration: ServletRegistration.Dynamic) { 16 registration.setInitParameter("enableLoggingRequestDetails", "true") 17 } 18}
Multipart Resolver
Filters