콘텐츠로 이동

2021 07 15

2021-07-14

테코톡 - 로깅

  • 로깅 vs sout - 로깅 - 로그 레벨에 따라 남기고 싶은 로그 별도 지정 가능 - 성능도 좋음 - 로그 레벨 - Fatal: 매우 심각한 에러 - Error: 의도하지 않은 에러 발생, 프로그램 종료 X - Warn: 에러가 될 수 있는 잠재적 가능성이 있는 경우 ---------------------의도 Line--------------------------
      - Info: 명확한 의도가 있는 에러, 요구에 따라 시스템 동작
      - Debug: Info 레벨보다 더 자세한 정보, Dev 환경
      - Trace: Debug 레벨보다 더 자세히
    
    • 로깅 vs 디버깅
      • 실제 서버 구동중이면 로깅이 최선
    • SLF4J
      • 다양한 로깅 프레임워크에 대한 추상화
      • 단독 사용 불가능
      • 최종 사용자 배포시 원하는 구현체 선택
      • 동작 과정 - Bridge -> SLF4J API -> Binding -> Logback - Bridge: 다른 로깅 API로의 Logger 호출을 SLF4J API로 연결 - SLF4J API: 로깅에 대한 추상 레이어 제공, 하나의 API에 하나의 Binding 모듈 - Binding: 로깅 구현체
    • Logback
      • SLF4J 구현체
      • Log4J 토대로 만든 프레임워크
      • 구조 - logback-core: - logback-access: Servlet Container와 통합되어 HTTP 액세스에 대한 로깅 기능 제공, 컨테이너 레벨에 저장
      • 설정 요소 - Logger: 어떻게 기록할까? - Appender: 로그 메시지가 출력할 대상 결정 - Layout: 사용자가 지정한 형식으로 표현 될 로그 메시지 변환하는 역할