<aside> 💡 로그 전략?
로그 전략은 어떤 로그
를 어떤 방식으로 남길지
, 그리고 그 로그를 어떻게 얼마동안 관리할지
등의 전략이다.
</aside>
어플리케이션의 모든 상황을 로그로 남기면 로그 파일은 빠른 속도로 커질 것이고 디스크 용량의 문제를 야기할 수 있다. 그러므로 중요한 로그만 남기는것이 좋다.
로깅에 쓰일정보 예시
에러 레벨은 debug, warn, error
private void logDebug(HttpServletRequest request, Exception e) {
log.debug("[EXCEPTION] REQUEST_URI -----> [{}]", request.getRequestURI());
log.debug("[EXCEPTION] HTTP_METHOD_TYPE -----> [{}]", request.getMethod());
log.debug("[EXCEPTION] EXCEPTION_TYPE -----> [{}]", e.getClass().getSimpleName());
log.debug("[EXCEPTION] EXCEPTION_MESSAGE -----> [{}]", MessageUtil.getMessage(e.getMessage()));
log.debug("[EXCEPTION] -----> ", e);
}
private void logWarn(Exception e) {
log.warn("[EXCEPTION] EXCEPTION_TYPE -----> [{}]", e.getClass().getSimpleName());
log.warn("[EXCEPTION] EXCEPTION_MESSAGE -----> [{}]", MessageUtil.getMessage(e.getMessage()));
log.warn("[EXCEPTION] -----> ", e);
}
private void logError(Exception e) {
log.error("[EXCEPTION] EXCEPTION_TYPE -----> [{}]", e.getClass().getSimpleName());
log.error("[EXCEPTION] EXCEPTION_MESSAGE -----> [{}]", MessageUtil.getMessage(e.getMessage()));
log.error("[EXCEPTION] -----> ", e);
}