Log4j 사용법

4,312 views
3,792 views

Published on

written by 정문철
reviewed by 손영수

Log4J 사용법
- log4j 셋팅및 설정 방법
- logger 패턴 설명

Published in: Technology
0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,312
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
45
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Log4j 사용법

  1. 1. LOG4J ! 똑똑하게 로그를 남기자.
  2. 2. 학습목표 -로그를 남기는 불편함과 문제점에 대해 생각해 봅니다. ! -기존의 프로젝트에 Log4j를 적용을 할 수 있습니다. ! -Log4j를 사용하여 일별로 로그파일을 남길 수 있습니다. ! -Log4j를 사용하여 시스템 자원의 걱정 없이 오래된 로그파일을 지우고 다시 작성할 수 있게 할 수 있습니다.
  3. 3. 이런 코드가 있으면 우리는…
  4. 4. Sysout으로 메시지를 출력해서 확인하곤 합니다.
  5. 5. 하지만 콘솔창은 정보가 너무 빨리 바뀌고 과거의 정보들을 보기도 힘듭니다.
  6. 6. 그래서 따로 로그용 함수를 만들어서 보기 쉽게 만들어 주거나
  7. 7. 파일로 출력해서 나중에 확인 할 수 있게 하기도 합니다.
  8. 8. 하지만 제때 제때 지워주지 않으면 점점 방대해 지는 로그 파일…
  9. 9. Q : 한 로그파일에 너무 많은 데이터가 다 쌓여있어서 보기 힘들어요! A : 로깅 함수에 시스템 날짜에 맞게 파일명을 바꾸어서 로그파일을 구분할 수 있도록 함수를 수정하겠습니다! ! Q : 시스템을 오랫동안 사용했더니 컴퓨터 용량이 꽉찼어요! A : 너무 오래된 것은 지우도록 하겠… ! Q : 이곳이 말이죠… A : (언제 핵심기능을 수정하지?!)
  10. 10. 이미 비슷한 고민을 다 겪었습니다.
  11. 11. Apache log4j
  12. 12. Log4j는 지금 2.0버젼이 새로 나올려고 하고 있습니다. (아직까지 베타 테스트) ! 기존에 사용하던 것은 1.2버젼으로 2.0과 호환성이 없습니다. (어댑터는 제공된다고는 합니다…) ! 즉 나중에 새로 다시 구성을 하실 날이 오실 수 있습니다…
  13. 13. http://logging.apache.org/log4j/1.2/download.html 1.2 라이브러리 다운로드
  14. 14. 다운로드 받은 라이브러리를 프로젝트에 복사를 하고
  15. 15. BuildPath에 추가해 줍시다.
  16. 16. Log4j의 Logger를 받아옵니다.
  17. 17. logger.level(“message”); 로 바로 호출 가능!
  18. 18. TRACE < DEBUG < INFO < WARN < ERROR < FATAL 로그 레벨 중요덜 중요 중요도에 따라 레벨을 달리 설정하여 로그를 분류할 수 있다. ! 또 하위 레벨은 상위 레벨을 포함하여 로그를 분류한다. ! 예를 들어 로그 레벨을 WARN을 선택하면 WARN, ERROR, FATAL 레벨의 로그만 기록을 한다.
  19. 19. 하지만 바로 사용할려고 하면 설정 파일이 없다고 문제가 발생합니다.
  20. 20. 새 파일을 만들어서…
  21. 21. log4j.properties파일을 만들어 줍니다.
  22. 22. Debug레벨에 콘솔창에 출력을 해보겠습니다.
  23. 23. 콘솔창에 잘 표시가 됩니다.
  24. 24. 하지만 DEBUG레벨이여서 DEBUG보다 레벨이 낮은TRACE는 표시되질 않았습니다.
  25. 25. layout.ConversionPattern을 이용하시면 더 많은 정보를 표시, 기록할 수 있습니다. 로그 뷰어에게 저 패턴으로 로그가 구성되어있다고 입력하면 뷰어가 잘 파싱하여 보여주기도 합니다.
  26. 26. 자세한 표시법은 홈페이지에서! http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
  27. 27. 날짜별로 로그 남기기
  28. 28. 로깅모드 레벨 경로 파일명 패턴 로그 패턴 설정 파일을 다시 수정합시다.
  29. 29. 로그는 클라이언트가 보낸 메시지로 남기고…
  30. 30. 테스트 클라이언트는 반복해서 데이터를 전송합니다.
  31. 31. 한번 실행시켜 보겠습니다!
  32. 32. 로그가 잘 남겨지고 있습니다…
  33. 33. 날짜를 수동으로 변경해보겠습니다.
  34. 34. 로그가 날짜별로 잘 남겨졌습니다.
  35. 35. 로그 파일이 너무 커져서 시스템에 영향을 주면 어떡하지?
  36. 36. Log Data Management Pattern 로그를 잘 남기는 패턴 PLOP 05년 Conference에 발표된 Log Data Management Pattern http://hillside.net/plop/2005/proceedings/PLoP2005_araveh0_1.pdf
  37. 37. 로그 최대 사이즈를 할당하는 방법 최대 사이즈에 도달하게 되면, 로그 파일을 재사용하고 다음 메세지는 동일한 로그파일 시작부분에 작성 ! -그전에 있었던 모든 로그 데이터들은 다 지워짐 Linear Bound Log 로그 최대 사이즈를 할당하는 방법 최대 사이즈에 도달하게 되면, 로그 파일을 재사용하고 다음 메세지는 동일한 로그파일 시작부분에 작성 ! -그전에 있었던 모든 로그 데이터들은 다 지워짐 Cyclic Buffer Log
  38. 38. Linear Bound Log의 단점을 극복하기 위해, Linear Bound Log를 여러개를 만드는 방법 ! 하나의 로그가 맥시엄 사이즈에 도달하게 되면 새로운 로그를 생성하게 되고 N번 만큼 생성하게 되고 다시 처음 Log 부터 기록 Nx Linear Bound Log
  39. 39. 로깅모드 파일 최대 크기 log파일 갯수 이번에는 RollingFileAppender를 사용해보겠습니다.
  40. 40. 최대 용량에 도달하면 새로운 파일에 작성하고 파일이 최대 파일 갯수를 넘으면 기존의 파일에 덮어쓰기를 합니다.
  41. 41. 그래도 직접 로그용 클래스를 만드시겠습니까? 뭐… 필요에 따라선 만들어야죠…

×