log4net을 사용하십시오. 진지하게.
표준 및 유비쿼터스 라이브러리를 사용하면이 문제에 대해 오랫동안 생각한 사람들로부터 지침을 얻을 수 있습니다. 해결책은 대부분의 로깅 라이브러리에 여러 수준의 로깅이 있다는 것입니다.
예를 들어 log4net에서 나는 응용 프로그램 관리자는 다음 그가보고에 관심이 있음을 로그인 서로 다른 레벨을 설정할 수 있습니다
ILog log = LogManager.GetLogger("some logger");
log.Debug("some debugging info");
log.Info("some message meaningful in the domain");
log.Warn("something might be occurring that merits your attention");
log.Error("Everything just went to hell")
할 수 있습니다. 런타임에이 구성을 변경할 수도 있습니다.사실, log4net과 같은 강력한 로깅 라이브러리를 사용하면 서로 다른 소스의 로깅 수준을 다른 어 펜더로 보낼 수 있습니다. 예를 들어, 하드 디스크에 저장되어있는 지난주의 모든 로깅 메시지, 데이터 액세스 레이어에서 시작되지 않은 모든 정보, 경고 및 오류 메시지를 데이터베이스로 푸시 한 롤링 파일과 모든 오류를 보낼 수 있습니다 이메일을 통해 당신에게.
당신이 "디버그"로그 수준에서 꽤 명확하게 설명하는 것 같아요.
물론 로깅 수준을 구현할 수도 있지만 라이브러리를 사용하는 모든 사람이 모든 디버깅 정보를보고 싶다면 사용중인 시스템뿐 아니라 시스템도 알아야합니다. 표준화하는 것이 더 낫습니다.
그래서 모범 사례 :
- 를 사용하여 서로 다른 로깅 수준.
- 로깅 프레임 워크를 롤하지 마십시오. log4net (실제로는이 날과 그 시대의 표준입니다) 또는 적어도 Microsoft의 entlib logging block을 사용하십시오.