2010.08.01 18:32 책 정리/Effective C#

이 포스트를 만든 목적

  • 공부 하려고

이 포스트의 준비물

  • gVim 7.2
  • Microsoft Visual C# 2010 Express - 20% 부족하다.

참조 링크

참조 서적

  • Effective C#

내용

닷넷 런타임 진단 기능이 무엇인가?

쉽게 말해서, 프로그램 행동 흔적을 남기는 기능을 뜻한다. 이것은 로그라고 불린다.

로그를 남기는게 왜 중요한가?

  • 살다보면 꼭 의도한 데로 살아가지 않는다. 이것은 프로그램도 마찬가지이다.
    나라도 언제나 디버깅을 할 수 있지는 않는다. 그러므로, 흔적을 남겨 버그 발생을 관찰 해야 한다.

  • 배포한 프로그램이 설치된 환경에는 디버깅 환경이 없다고 보는게 맞다.
    .. 일반 사용자가 디버깅 할 수 있는가? 절대로 아니다. 그러므로 로그를 남겨서 버그 발생을 관찰해야 한다.
어떻게 사용 하는가?

System.Diagnostics.Debug, System.Diagnostics.Trace, System.Diagnostics.EventLog 클래를 제공하는데, ... C# 의 이 기능 보다는 오히려 외부 라이브러리의 도움을 받는게 훨씬 강력하고, 피드백이 좋으며, 더 범용적이다.

그 훨씬 더 좋다는게 무엇인가?

바로 log4net 이다.

왜 이것이 훨씬 더 좋은가?

자바용을 시작으로, C++용, C# 용 등 기타 다른 언어들로 포팅되어 있으므로, 하나 배워서, 다른 곳에서도 잘 쓸 수 있기 때문이다. 굳이 C# 에서만 사용되는 내장 기능보다는 이것이 훨씬 더 좋다. 또한 이 로깅 시스템은 ... 몹시 많은 기능도 지원한다. : )

결론

  • 이번 항목은 코드 재사용을 위해서 만들어진 항목이다 보니, 내장 기능을 사용하도록 되어 있다. 그러면 더더욱 log4net 을 이용하는게 훨씬 좋다.

여담

  • 난 이러한 존재를 회사에 입사하고 알았다. 회사에선 log4cxx 를 사용하고 있다. :)


posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요