SERVER

[Apache] Logback

보겸삼촌 2021. 1. 27. 01:04

1. logback

: log4j를 토대로 새롭게 만든 logging 라이브러리

  slf4j
를 통해 연관 라이브러리들이 다른 logging framework를 쓰더라도 logback으로 통합할 수 있음
 logback을 이용하여 로깅을 사용하기 위해서 필요한 주요 설정 요소로는 logger, appender, encoder 3가지가 있음

 

 

 

  1.1. logback 주요 설정 3요소

· logger
  : 실제 로깅을 수행하는 구성요소로 level 속성을 통해서 출력할 로그의 레벨을 조정

· Appender
  : 로그 메시지가 출력될 대상을 결정하는 요소

· Encoder
  : Appender에 포함되어 사용자가 지정한 형식으로 표현될 로그 메시지를 변환하는 역할을 담당하는 요소

 

 

 

  1.2. logback 설정파일 작성 방법

 

    1.2.1. xml을 이용하는 설정방법

      : logback.xml로 설정 파일 작성 후 해당 파일을 classpath에 위치

 

    1.2.2. Groovy 언어를 이용한 설정방법

      : logback.groovy로 설정 파일 작성 후 해당 파일을 classpath에 위치

 

 

 

  1.3. logback 장점

· log4j보다 약 10배 빠르게 수행되도록 내부구조가 변경되었고, 메모리 효율성이 높음
· 문서화가 잘 되어 있음
· 설정 파일을 변경했을 경우, 서버 재기동 없이 변경 내용이 자동으로 갱신
· 서버 중지 없이 I/O 실패에 대한 복구를 지원
· RollingFileAppender를 사용할 경우 자동으로 오래된 로그를 지워주며 Rolling 백업을 처리

 

 

  1.4. log4j logback 전환 방식

log4j

log4j-over-slf4j.jar

slf4j

logback-classic.jar

logback

logback-core.jar

 

· logback-core.jar :: logback 코어

· logback-classic.jar :: slf4j에서 logback을 호출할 수 있도록 처리

· log4j-over-slf4j.jar :: log4j logging slf4j 전환

 

 

 

  1.5. 적용 시 유의할 점

 기존의 logback이 아닌 log4j slf4j가 연동되어 있을 경우, 반드시 slf4j-log4j12.jar 라이브러리를 제거해야함
 
  slf4j-log4j12.jar 
라이브러리는 slf4j log4j에게 로깅 처리를 호출하는 라이브러리인데, 이 라이브러리가 포함되어 있을 경우
 멀티바인딩 이슈
, 순환오류 등의 에러가 발생할 수 있음

 

 

'SERVER' 카테고리의 다른 글

[Tomcat] 톰캣이란  (0) 2021.01.28
[Tomcat] 톰캣 디렉토리 구조  (0) 2021.01.28
[Tomcat] server.xml 구조  (0) 2021.01.28
[Server] 웹 서버와 WAS  (0) 2021.01.27
[Apache] Log4J  (0) 2021.01.26