로깅(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
'[Java] > [Java]' 카테고리의 다른 글
[Java] 자바 List vs ArrayList (0) | 2022.08.02 |
---|---|
[Java] 자바 runnable jar (jar 실행파일 만들기) (0) | 2022.05.22 |
[Java] 자바 Arrays vs ArrayList (0) | 2022.04.23 |
[Java] 데이터베이스(Database) JDBC Drive Class, URL 모음 (0) | 2022.03.12 |
[Java] 자바 클린 코드 (Clean Code) (0) | 2022.02.02 |