[데브코스] Logging하기 + Boot 핥아보기

Updated: Categories:

W3D5 - Logging 프레임워크 / Logback + 지금까지 실습을 Spring Boot로 바꿔보자!

Logging

  • sout으로 로그를 찍지 마라 -> 동기화 문제가 발생하기 때문에
  • 다양한 logging 프레임워크를 사용해 로깅하자!
    • Apache Commons logging
    • Log4J
    • Logback
    • SLF4J : 다양한 로깅 프레임워크를 바인딩 모듈을 통해 처리해줌

Log Level

  • 어느정도까지 로그를 남길지 정하는 기준
  • 로깅도 성능에 영향을 끼칠 수 있기때문에 적절한 레벨을 선택해야한다.
  • 패키지단위로 로그레벨을 설정할 수 있음

image

Logback 설정

  • 로그 설정파일 찾는 순서
    1. logback-test.xml
    2. logback.groovy
    3. logback.xml
    4. 기본설정(BasicConfiguration)
  • 설정파일 위치는 resource 폴더 하위임
  • logback.xml 기본 설정은 여기에서 복붙하면 된다.
  • 추가적인 포맷 정보도 공식 문서에서!


Spring Boot

  • CoC(Conversion of Configuration)를 지원하여 설정에 힘쏟지 않아도 된다.
  • 디펜던시 관리할때 starter모듈을 통해 기본적으로 필요한 모듈을 모두 제공해준다!

@SpringBootApplication

  • SpringBoot에서 유일하게 하나만 존재함
    • @SpringBootConfiguration -> 즉 @Configuration (AppContext) 파일의 역할을 한다.
  • 자동으로 Component Scan 해줌
    • AppConfiguration 클래스을 따로 만들필요가 없음
  • application.yaml이 default property임.
    • PropertySourceFactory yaml 설정클래스 구현 필요 없음
  • 여기에서 스프링부트 시작시 출력되는 배너를 커스텀할 수 있다
  • resource 폴더 밑에 banner.txt를 만들고 생성한 배너를 복붙해주기만 하면 된다

Logging

  • 기존에 사용하던 로그백 이름을 logback-backup.xml으로 변경하면 스프링 기본 로거를 사용하게 된다.
  • 스프링부트에선 application.yaml에 로깅 레벨을 지정해줄 수 있다.