티스토리 뷰
1) 로깅이란?
로깅(Logging)이란?
- 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동
- 프린트 줄 넣기(printlining)는 간단한, 보통은 일시적인, 로그를 생성하기만 한다.
- 시스템 설계자들은 시스템의 복잡성 때문에 로그를 이해하고 사용해야 한다.
- 로그가 제공하는 정보의 양은, 이상적으로는 프로그램이 실행되는 중에도, 설정 가능해야 한다.
- 일반적으로 로그 기록의 이점
- 로그는 재현하기 힘든 버그(예: 개발이 완료된 환경에서는 발생하지만 테스트 환경에서는 재현할 수 없는 버그)에 대한 유용한 정보를 제공할 수 있다.
- 로그는 성능에 관한 통계와 정보(예: 구문들 사이에 걸리는 시간)를 제공할 수 있다.
- 설정이 가능할 때, 로그는 예기치 못한 특정 문제들을 디버그하기 위해, 그 문제들을 처리하도록 코드를 수정하여 다시 적용하지(redeploy) 않아도, 일반적인 정보를 갈무리할 수 있게 한다.
로그를 출력하는 방법
- System.out.print() 이용
- 로그의 양 또는 수준 같은 것을 조절할 수가 없음. 파일 등에 저장하는 것도 불편. - 로깅 라이브러리 이용
로그 라이브러리 종류
- java.util.logging
- JDK 1.4부터 포함된 표준 로깅 API
- 별도 라이브러리 추가 불필요
- 기능이 많이 부족해 다른 로그 라이브러리를 더 많이 사용 - Apache Commons logging
- 아파치 재단에 Commons 라이브러리 중에 로그 출력을 제공하는 라이브러리 - Log4j
- 아파치 제단에서 제공하며 가장 많이 사용되는 로깅 라이브러리 - Logback
- Log4j를 개발한 Ceki Gulcu가 Log4j의 단점 개선 및 기능을 추가하여 개발한 로깅 라이브러리
생각해보기
- System.out.println()을 자주 이용하게 되면 웹 어플리케이션의 속도는 상당히 느려집니다. 운영 중인 서버에서는 System.out.println()으로 로그를 출력하면 안 됩니다. 이번 시간에 소개된 로거 객체 등을 이용해 로그를 남겨야 속도상에 문제가 발생하지 않습니다. 이번 시간에 소개한 로그 라이브러리들에 대해 찾아보시고 장단점에 대해 알아보세요.
참고 자료
[참고링크] java.util.logging
http://www.vogella.com/tutorials/Logging/article.html
[참고링크] Apache Commons Logging
http://commons.apache.org/proper/commons-logging/
[참고링크] Log4j
http://logging.apache.org/log4j/2.x/
[참고링크] Logback
'부스트코스 웹 프로그래밍 > 6. 웹 앱 개발: 예약서비스 4' 카테고리의 다른 글
3. 파일 업로드 & 다운로드 - BE (1) (0) | 2019.08.13 |
---|---|
2. 로깅 - BE (3) (0) | 2019.08.13 |
2. 로깅 - BE (2) (0) | 2019.08.13 |
1. 파일 업로드 - FE (2) (0) | 2019.08.13 |
1. 파일 업로드 - FE (1) (0) | 2019.08.13 |
Comments