1. System.out과 logging
https://blog.silentsoft.org/archives/13
Logging을 System.out으로 하면 안되는 이유
운영 시스템에서 System.out으로 로그를 남기는 경우는 없다고 봐도 무방하다. 또, ‘Logging은 절대 System.out으로 하면 안 된다’고 생각하는 사람이 많다. 그런데 아이러니하게도 그 이유를 모르는
blog.silentsoft.org
요약
- 에러/장애 발생 시 추적할 수 있는 최소한의 정보가 없다.
- 최소한의 정보는 고사하고, 로그 내용을 가져오기 어렵다.
- 누가 봐도 System.out.println은 콘솔에 로그를 출력하는 API이다.
- 성능저하 원인이 될 수 있다. -> 참고 (https://junghyungil.tistory.com/160)
2. Log4j 와 slf4j
https://sjh836.tistory.com/161
Log4j 와 slf4j (maven 설정, commons-logging, appender, logger, layout)
참조문서 : https://logging.apache.org/log4j/2.x/ 1. log4j 란? log for java 의 약자로서 로깅을 위한 라이브러리이다. 로깅 라이브러리를 별도로 사용하지 않는다면, system.out.println()으로 할 것이다...
sjh836.tistory.com
요약
- spring에서 기본적으로 사용하는 commons-logging을 exclution처리
- slf4j-log4j12를 추가
- log4j-core를 추가
3. log4j의 로그레벨
위에서부터 심각한 정도
- FATAL : 아주 심각한 에러가 발생한 상태
- ERROR : 요청을 처리하는 중 문제가 발생한 상태
- WARN : 처리 가능한 문제이지만, 향후 에러의 원인이 될 수 있는 상태
- INFO : 로그인, 상태변경과 같은 정보성 메세지
- DEBUG : 개발시 디버그 용도로 사용
- TRACE : 디버그 레벨이 너무 광범한 것을 해결하기 위해서 좀 더 상세한 상태를 나타냄
- https://yunyoung1819.tistory.com/30
스프링 로그 레벨 (Level)
스프링 로그 레벨 (Level) - 로깅(Logging) - 로그(Log)란 프로그램 개발이나 운영 시 발생하는 문제점을 추적하거나 운영 상태를 모니터링하기 위한 텍스트이다. - 지금까지는 System.out.println(); 문을 사
yunyoung1819.tistory.com
- 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
스프링부트에 log4j2 적용하기(gradle, log4j2.yml 활용)
이번 글에서는 스프링부트 서비스에서 gradle과 log4j2.yml 파일을 활용하여 log4j2 설정을 진행할 것이다. log4j2는 늘 사용하지만 한번 글로 정리가 필요할 것 같아서 정리해보았다. 설정을 진행하는
twofootdog.tistory.com
5. Log4j & Logback & Log4j2차이
[개발자 블로그] Log4j & Logback & Log4j2의 차이
Log4j&Logback&Log4j2의차이 log4j 콘솔로 출력하는 stdout 외에도 파일 출력도 제공한다. 하지만 2015년에 개발이 중단되었기 때문에 기존 시스템이 아니라면 사용할 이유가 없다.
jeonyoungho.github.io
'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 |