1. System.out과 logging
https://blog.silentsoft.org/archives/13
요약
- 에러/장애 발생 시 추적할 수 있는 최소한의 정보가 없다.
- 최소한의 정보는 고사하고, 로그 내용을 가져오기 어렵다.
- 누가 봐도 System.out.println은 콘솔에 로그를 출력하는 API이다.
- 성능저하 원인이 될 수 있다. -> 참고 (https://junghyungil.tistory.com/160)
2. Log4j 와 slf4j
https://sjh836.tistory.com/161
요약
- spring에서 기본적으로 사용하는 commons-logging을 exclution처리
- slf4j-log4j12를 추가
- log4j-core를 추가
3. log4j의 로그레벨
위에서부터 심각한 정도
- FATAL : 아주 심각한 에러가 발생한 상태
- ERROR : 요청을 처리하는 중 문제가 발생한 상태
- WARN : 처리 가능한 문제이지만, 향후 에러의 원인이 될 수 있는 상태
- INFO : 로그인, 상태변경과 같은 정보성 메세지
- DEBUG : 개발시 디버그 용도로 사용
- TRACE : 디버그 레벨이 너무 광범한 것을 해결하기 위해서 좀 더 상세한 상태를 나타냄
- https://yunyoung1819.tistory.com/30
- INFO로 셋팅하면, INFO, WARN, ERROR, FATAL은 기록된다.
- TRACE > DEBUG > INFO > WARN > ERROR > FATAL
4. log4j의 Appender 종류
Appender 는 로그의 출력 위치를 지정해준다.
- ConsoleAppender : 콘솔에 출력
- FileAppender : 파일에 출력
- RollingFileAppender : 조건에 따라 파일에 출력
- DailyRollingFileAppender : 매일 조건에 따라 파일에 출력
- JDBCAppender : RDB 테이블에 출력
출처: https://sjh836.tistory.com/161 [빨간색코딩]
https://twofootdog.tistory.com/52
5. Log4j & Logback & Log4j2차이
'Back-end > Java Language' 카테고리의 다른 글
ThreadLocal (0) | 2022.03.18 |
---|---|
instanceof, java (0) | 2022.03.17 |
스트림(stream) (0) | 2021.10.13 |
변수명 짓는 방법 (0) | 2021.09.17 |
@SuppressWarnings (0) | 2021.09.08 |