2010-04-09 2 views
4

Log4Net을 사용하여 다중 레이어 엔터프라이즈 응용 프로그램을 로깅합니다.Log4net의 모든 로그 호출에 StackTrace를 어떻게 추가합니까?

Log4Net을 사용하여 예외를 로그하면 자동으로 예외 StackTrace가 노출되지만 예외가 발생하지 않는 경우에도 모든 로그 호출에 대해 StackTrace를 기록하려고합니다.

왜 그렇게해야합니까? ... 내가 로그의 호출 기원 알고 싶다 (레이어를 드릴 다운을 ...) 모든

감사합니다 ...

티아고 디아스

답변

3

나는 내 문제에 대한 해결책을 찾았다. 나는 내 자신의 방식으로 log4net을 둘러 봤으며 LoggingEvent 인텐시티를 만들었습니다. 각 인스턴스에서 Environment.StackTrace를 사용하여 속성을 사용했습니다.

이 방법은 예외가 throw되지 않고도 내 응용 프로그램에서 StackTrace foreach 로그 이벤트가 있습니다.

감사합니다 모두 ..

1

% location을 사용하여 호출자 메소드 이름과 행 번호를 얻을 수 있지만 log4net을 확장하지 않고 전체 스택 추적을 얻을 수는 없습니다. 이 질문에 대한 응답을 확인합니다

Does log4net support including the call stack in a log message

또한 다른 위치에 대한 자세한 내용은 apache.org에 PatternLayout은 문서 페이지를 확인하면 출력 할 수 있습니다 :이 여전히 현대에 적용되는 경우

http://logging.apache.org/log4net/release/sdk/log4net.Layout.PatternLayout.html

확실하지 않음 하지만 log4net 설명서는 발신자 정보를 생성하는 데 많은 비용이 듭니다.

관련 문제