반응형

로깅(Logging)

  정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동.

 

System.out.print()

  하지만 이는 프로그램의 성능을 떨어트리고 로그를 파일에 저장하는 것이 불가능


java.util.logging

  외부 라이브러리 사용 없이 로깅이 가능

  다른 라이브러리와 비교했을 때 퍼포먼스 (속도) 가 느리다.

  나만의 custom 레벨을 만들면 메모리 누수가 일어난다.
  타 라이브러리에 비해 기능이 부족하다.

 

log4j

  log4j는 가장 오래된 로깅 프레임워크로써 Apache의 Java기반 로깅 프레임 워크이다.

  콘솔 및 파일 출력의 형태로 로깅을 도와주며 xml, properties로 환경을 구성할 수 있다.

  현재는 2015년 기준으로 개발이 중단되었다.

  퍼포먼스가 최적화되어있다.

  log4j2 가장 최신에 나온 로깅 프레임워크로써 Apache의 log4j의 다음 버전

 

 

SLF4J

  SLF4J(Simple Logging Facade for Java)는 이름에서 확인할 수 있듯이.

  java.util.logging, logback 및 log4j와 같은 다양한 로깅 프레임 워크에 대한 추상화(인터페이스) 역할을 하는 라이브러리

  즉 DI할 수 있게 있는 상위 인터페이스

  (slf4j를 사용하여 설정에 따라 다른 로깅 라이브러리를 사용할 수 있게 된다.)

  (slf4j 사용 후 Implementation은 logback이나 log4j2를 사용)

 

참고자료 : https://www.fwantastic.com/2019/12/javautillogging-vs-log4j-vs-slf4j.html

반응형