Feedback01
- [x] 민감한 정보가 로깅되고 있는곳이 있다. 비밀번호와 메시지 본문도 민감한 정보이므로 로그에 포함하지 않는 게 원칙이다.
- 수정 전
- 수정 후
Feedback02
- [x] 예외 핸들러에서 예외를 남기는 시점에서 예외 객체를 파라미터로 넘겨주지 않고 있다.
- 수정 전
- 수정 후
Feedback03
- [x] 로그 레벨이 몇 군데서 적절하지 않은 케이스가 있다.
GlobalExceptionHandler (line 18) 는 모든 DiscodeitException을 WARN으로 찍는데, PROFILE_READ_FAILED 같은 500계열은 ERROR로 반환해야 한다.
- ➡️
status에 따라 분기하여 처리하자
- 수정 전
- 수정 후
Feedback04
- [x]
AuthController (line 41), BasicAuthService (line 33), RequestLoggingFilter (line 33) 가 로그인 한 번에 비슷한 시작/성공 로그를 여러 번 남기고 있다. 요청은 컨트롤러만, 성공여부는 서비스에서 한번만 호출하게 하자.
- 수정 전
- 수정 후
Feedback05
- [x]
ValidationMethods (line 8) 는 Objects.requireNonNull로 NullPointerException을 반환하고, LocalBinaryContentStorage (line 33) 는 IllegalStateException / IllegalArgumentException을 반환하고 있다.
- 이 부분 커스텀 예외를 던지게 해서 일관되게
ErrorResponse로 응답처리