WEB/✿Spring Framework
[Spring] 🔗6) 로깅처리
W_W_Woody
2022. 3. 5. 18:54
로깅 처리
로깅은 시스템의 개발이나 운용 시 발생하는 애플리케이션 내부 정보를 파일이나 콘솔에 출력하여 시스템의 상황을 쉽게 파악할 수 있도록 한다.
우리가 만든 로그를 출력시켜보자.
log4j.xml에서 수정을 먼저 해준다.
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을 찍어서 확인해볼 수 있다.
(데이터가 잘 넘어오는 지 확인)