WEB/✿Spring Framework

[Spring] 🔗6) 로깅처리

W_W_Woody 2022. 3. 5. 18:54

로깅 처리

 

로깅은 시스템의 개발이나 운용 시 발생하는 애플리케이션 내부 정보를 파일이나 콘솔에 출력하여 시스템의 상황을 쉽게 파악할 수 있도록 한다.

 

우리가 만든 로그를 출력시켜보자.

 

log4j.xml에서 수정을 먼저 해준다.

kr.spring.jdbc에서 jdbc를 지운다.

kr.spring이하 경로에 로그처리를 한다.

개발할 때는 info, debug로 하는데 실제 운영할 때는 로그가 많이 쌓이므로  error로 낮춘다

 

- 로그 레벨

로그 레벨 의미
FATAL 가장심각한 오류
ERROR 일반적인 오류
요청을 처리하는 중 일반적인 에러가 발생한 상태를 나타낸다.
WARN 주의를 요하는 경우
처리 가능한 문제이지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타낸다.
INFO 런타임 시 관심있는 내용
로그인, 상태 변경과 같은 정보성 메시지를 나타낸다.
DEBUG 시스템 흐름과 관련된 상세 정보
개발시 디버깅 용도로 사용할 메시지를 나타낸다.
TRACE 가장 상세한 정보(모든 레벨에 있는 메세지를 전부 출력)
Log4j1.2.12에서 신규 추가된 레벨으로서,
디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀더 상세한 상태를 나타낸다.

- 로깅 서비스 관련 중요 컴포넌트

컴포넌트 설명
Appender 어디에 로그를 출력할 것인지를 결정하는 컴포넌트다.
Log4j가 지원하는 Appender 클래스의 종류는 다양하며, 클래스들의 이름만 보면 어디에 출력하는지 알 수 있다.(ConsoleAppender,FileAppender)
Lagout Appender에 출력되는 로그의 포맷(일자, 시간, 클래스명)을 지정한다.
Logger 애플리케이션 별로 사용할 로거(로거명 기반)를 정의하고 이에 대해 로그 레벨과 Appender를 지정할 수 있다.

 

Controller에 로그처리를 해주면 콘솔창에 지정한 로그가 출력된다.

 

로그처리를 하려면 로그대상을 지정해야한다.

private static final Logger logger = LoggerFactory.getLogger(BoardController.class);



 

 

 

유효성 체크하기 전에 로그로 toString을 찍어서 확인해볼 수 있다.

(데이터가 잘 넘어오는 지 확인)