Skip to Content
Suffering builds character
아카이브11.로깅특징11. 로깅 라이브러리

11. 로깅 라이브러리

java.util.logging은 실제 개발 환경에서 잘 사용되지 않고 있음

⚠️
Warning

java.util.logging을 잘 사용하지 않는 이유

항목설명
1. 확장성 부족로그 포매팅, 핸들러, 설정 방식이 유연하지 못하고 제한적, 복잡한 로그 처리에 적합하지 않음
2. 설정의 복잡성과 불편함logging.properties 파일 방식은 직관적이지 않고 환경별 설정이 어려움, 외부 설정 주입도 번거로움
3. Stack Trace 출력 문제JUL은 예외 로깅 시 예외 메시지가 충분히 상세하지 않거나, 포맷이 일관되지 않음
4. 로그 수준(Level)의 비직관성FINE, FINER, FINEST 등의 네이밍이 명확하지 않아서 개발자가 직관적으로 쓰기 어려움
5. 표준 출력과 연동 문제System.out/err와의 연동이 부자연스럽거나 누락되는 경우가 있으며, 이로 인해 콘솔 디버깅이 어려움
6. 성능 이슈멀티스레딩 환경에서의 성능 저하나 동기화 문제가 존재할 수 있음 (특히 고성능 서비스에서는 치명적)
7. 생태계 및 커뮤니티 부족JUL 기반의 도구나 플러그인, 통합 솔루션이 Log4j, SLF4J, Logback에 비해 부족

1. Logging 라이브러리

로깅을 처리하기 위한 대표적인 외부 라이브러리로는 Log4J2Logback이 있음

2. Log4j

On August 5, 2015 the Logging Services Project Management Committee announced that Log4j 1.x had reached end of life. For complete text of the announcement please see the Apache Blog. Users of Log4j 1 are recommended to upgrade to Apache Log4j 2.

  • Log4j 1.x는 더 이상 유지보수되지 않음
  • 2015년 8월 5일자로 End of Life(EOL) 선언됨
  • Log4j 1.x는 더 이상 보안상 안전하지 않음
  • 새 프로젝트에는 절대로 Log4j 1.x를 사용하지 말 것이 명시됨
  • Log4j 1을 사용하는 사용자들은 Apache Log4j 2로 업그레이드할 것이 권장됨
Last updated on