로그, 로깅이란?
로깅이란 시스템 동작시 시스템의 상태와 작동 정보를 시간에 따라 기록하는 것
그 기록이 로그
로깅의 장점
소프트웨어의 디버깅이나 모니터링을 위하여 소프트웨어 동작 상태 정보를 기록해서 볼 수 있다.
-상황에 따라 Level별 메시지 가능
-프로그램의 실행에 대한 흐름과 에러 확인 가능
-자유로운 출력 형식과 위치 가능
-프레임워크를 이용하여 쉽게 설정 가능
로깅 프레임워크 3가지 종류들
1. logback(사용 추천)
log4j와 유사하지만 향상된 성능과 필터링 옵션, slf4j, 자동 리로드 기능 지원
spring boot 환경의 경우 spring-boot-starter-web > spring-boot-starter-logging에 기본적으로 logback 구현체가 포함!
-> 따로 프레임워크를 지정하지 않는다면 자동으로 logback이 적용된다.
공식 메뉴얼 링크
http://logback.qos.ch/manual/index.html
2. log4j2
logback 이후에 나온 프레임워크
logback과 유사하나 Multi Thread 환경에서의 비동기 로거(Async Logger) 케이스에 처리량이 더 높고 시간 효율이 좋다.
spring boot 환경의 경우 log4j2를 사용하려면 dependency에서 logback 제거 작업 필요
3. slf4j
로깅에 대한 추상 레이어
코드를 일정하게 유지하면서 구현체의 전환 (다른 프레임워크로의 전환)을 쉽게 지원
logback, log4j2는 slf4j의 구현체
로그 레벨
TRACE < DEBUG < INFO < WARN < ERROR
-ERROR : 오류가 발생
-WARN : 처리 가능한 문제, 향후 에러의 원인이 될 수 있는 경고성 메시지
-INFO : 상태 변경과 같은 정보성 로그를 표시한다.
-DEBUG : 디버깅하기 위한 정보.
-TRACE : Debug보다 상세한 정보
차후에 스프링 부트에서 logback 설정을 하는 방법도 다뤄볼까 예정 중이다.
참고 사이트
'Spring > 개인 공부' 카테고리의 다른 글
[mySQL 8.0.27] 비밀번호 정책 변경하기 최신 버전, Unknown system variable 'validate_password_policy' 오류 해결 (0) | 2022.02.03 |
---|---|
[스프링] AOP란? Spring에서의 AOP란?? (0) | 2022.02.03 |
[JUnit4] 최신 스프링 부트 프로젝트(2.2x~)에서 Junit4 사용 설정하기 (0) | 2022.02.03 |
[JUnit5] 유저 Junit4 테스트 코드를 Junit5 테스크 코드로 변경해보기 (0) | 2022.02.03 |
[스프링부트 설정 파일] .properties 파일 .yml 파일로 변경하기 (0) | 2022.01.30 |