로그(Log)란 프로그램 개발이나 운영 시 발생하는 문제점을 추적하거나 운영 상태를 모니터링하기 위한 텍스트이다.
System.out.println(); 를 사용하여 로그를 확인할 수 있지만
일반적으로, 실무에서는 로그를 기록하는 클래스를 만들어 사용한다.
/* getClass()메서드를 통해 사용되는 클래스 타입 반환하여 삽입 */
private Logger log = LoggerFactory.getLogger(getClass());
로그(Log)는 다음과 같은 레벨을 가진다.
낮은 순서대로 나열하겠다.
TRACE : 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀 더 상세한 이벤트를 나타낸다.
DEBUG : 디버그 용도로 사용하는 메시지를 나타낸다.
INFO : 어떠한 상태 변경과 같은 정보성 메시지를 나타낸다.
WARN : 프로그램의 실행에는 문제가 없지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타낸다.
ERROR : 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타낸다.
보통 ERROR 까지 총 5단계를 말한다.
(FATAL : 아주 심각한 에러가 발생한 상태를 나타낸다.)
WARN로 셋팅하면 WARN, ERROR, FATAL이 발생한다.
로그를 사용할 때 장점
쓰레드 정보, 클래스 이름같은 정보를 함께 볼 수 있고, 출력 모양을 조정할 수 있다.
로그 레벨에 따라 개발 서버에서는 모든 로그를 출력하고 운영서버에서는 출력하지 않게끔 로그를 조절할 수 있다.
성능이 System.out보다 좋다. (멀티 쓰레드 등)
콘솔에만 출력하는 것이 아니라 파일이나 네트워크 등에 로그를 별도의 위치로 남길 수 있다.
'공부하면서 얻은 지식들' 카테고리의 다른 글
정규표현식 (0) | 2023.01.02 |
---|---|
CUDA (2) | 2022.12.29 |
어댑터 패턴(Adapter Pattern) (0) | 2022.11.20 |
import os [파이썬 자동화] (0) | 2022.11.08 |
파일 모드 (r모드, w모드, a모드, +) (0) | 2022.10.22 |