Back End/JAVA

[JAVA] Logger

리오토리 2022. 11. 29. 17:35

로그란?

모든 행위와 이벤트 정보를 시간의 경과에 따라 기록한 데이터

시스템 상에서 "로그"를 생성하는 과정을 로깅(Logging)이라고 한다.

 

장점

예기치 못한 문제의 원인을 파악할 수 있고, 시스템 및 사용자의 동작 패턴 분석,

해킹의 비정상 동작 기록 감지 분석을 통해 통계화가 가능하다.

 

즉, 모든 것을 기록하고 분석하여 예측하게 해주는 장치

 

라이브러리 종류

Apache Commons logging

log4j : 가장 많이 사용됨

logback : log4j의 단점 개선 및 기능 추가한 로깅라이브러리

 

 

로그관리법!

사용법은 로깅 라이브러리 slf4j을 사용하여 내가 로그를 남길 클래스에 선언하고 메소드내에서 사용하면된다.

 

로그 레벨 : TRACE > DEBUG > INFO > WARN > ERROR >FATAL

TRACE : 모든 메세지를 표기하기 위한 정보

DEBUG : 프로그램 디버깅하기 위한 정보

INFO : 상태변경, 서비스 동작 상태를 위한 정보

WARN : 향후 잠재적으로 문제를 야기할 수 있는 정보

ERROR : 의도하지 않은 오류 발생 정보

FATAL : 시스템적으로 심각한 문제가 발생해서 어플리케이션 작동이 불가능한 정보

 

System.out 이 있는데 logger을 써야하는 이유는?

system.out은 에러발생시 추적할 수 있는 최소한의 정보가 없다.

반면 logger는 시스템 콘솔에만 출력하지않고, 파일, 네트워크 등 별도의 위치에 남길 수 있다.

특정 파일로 남길때는 일별, 특정 용량에 따라 분할하는것도 가능하다.

 

 

참고

https://haenny.tistory.com/3

https://cornarong.tistory.com/35

https://kurukurucoding.tistory.com/49

'Back End > JAVA' 카테고리의 다른 글

[JAVA] isEmpty() 와 isBlank()  (0) 2022.11.28
[JAVA] 문자열 치환(Replace, ReplaceAll, ReplaceFirst)  (0) 2022.11.28
[JAVA] Pattern 클래스 사용  (0) 2022.11.25
[JAVA] 정규표현식  (0) 2022.11.25