2010-10-29 4 views
8

나는 log4net 출력을 사용자 그룹에게 이메일로 보낼 수있는 방법을 찾고있다. 지금 당장은 로그 파일을 읽었지만 log4net.LogManager.Shutdown()을 호출하여 파일을 읽어야 만 읽을 수 있고 로그 파일 이름을 하드 코딩하거나 log4net 구성을 파싱해야합니다. . 나는 내가 읽을 수있는 메모리 위치에 로그하는 추가 appender를 구성 할 수 있기를 원합니다.log4net 메모리 첨부자가 있습니까?

이 기능에 대한 새로운 appender를 만드는 데 신경 쓰지 않지만 최선의 선택이 무엇인지 잘 모르겠습니다. 나는 분명히 내 로그 출력을 얻기 위해 다른 파일, 데이터베이스 또는 외부 데이터 소스에 의존하고 싶지 않습니다.

답변

14

예, log4net.Appender.MemoryAppender입니다. 기록 된 이벤트를 얻는 데 사용할 수있는 GetEvents() 메서드가 있습니다.

+2

이제 appender에서 빌드 목록을 살펴 보았습니다. 나는 장님이되어야한다는 것을 맹세한다. +1 내게 전화. – Chris

1

SmtpAppender가이 용도로 더 적합하지 않습니까? 그것은 직접 이메일을 보냅니다.

+1

BufferSize 속성을 사용하여 일괄 처리를 구성 할 수도 있습니다. 하지만 하루에 하나의 이메일을 말하고 싶지는 않습니다. –