개발/개발관련
log4j , slf4j 뭐지 이게
Ddil_
2019. 1. 25. 14:20
slf4j(Simple Logging Facade For Java)
log4j, log4j2, logback, commons-logging 등을 위한 추상화 제공
ex. log4j에서 log4j2로 변경할 경우 리소스 발생. 이럴 경우에 slf4j를 사용하고 log4j를 연결하고 log4j2로 변경하고싶을때 2로 연결을 바꿔주면 됨
log4j
로깅을 위한 라이브러리이다. system.out.println()은 운영환경에서는 리소스낭비이다
특징
- system.out.println() 에 비해 속도가 훨씬 좋다.
- 멀티스레드 환경에서 사용해도 안전하다.
- 계층적인 로그 설정과 처리가 가능하다.
- 출력을 콘솔, 파일, 원격, email, DB 등 다양하게 가능하다.
- log4j2가 나온뒤로 추후에 중단될 수도 있다는 루머가 있다. (log4j대신 log4j2를 쓰자)
예시 코드(slf4j - log4j)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class test { private static final Logger log = LoggerFactory.getLogger(test.class); public test(){ } public static void main(String[] args) { log.info("info"); log.debug("debug"); log.warn("warn"); log.error("error"); log.trace("trace"); } } | cs |
logback 같이 로깅을 위한 다른 방법이 있는데 log4j가 주변에서 많이 쓰이고 있으니 따라가자
바꾸려면 다같이 바꿔야한다는 생각을 가지고 있어야하므로..
728x90