클라이언트에 전달되기 전에 서비스 경계에 도달하는 모든 예외를 기록하기 위해 내 WCF 서비스에 IErrorHandler를 구현하려고합니다. 나는 이미 유용한 F 형 예외 (Exceptions)를 형식화 된 FaultExceptions로 변환하기 위해 IErrorHandlers를 사용합니다. IErrorHandler.HandleError()에 대한 MSDN에 따르면이 메서드는 경계에서 로깅하는데도 사용됩니다.서비스 경계에서 WCF 오류 로깅
문제는 HandleError 함수가 작업 스레드에서 호출되지 않을 수 있으므로 예외를 트리거 한 연산에 대한 정보를 얻는 방법을 파악할 수 없다는 것입니다. 예외 사이트 자체에서 TargetSite를 얻을 수는 있지만 작업 대신 내부 메서드가 제공됩니다. 또한 StackTrace 문자열을 통해 구문 분석하여 어디에서 던져 졌는지 파악할 수 있지만이 방법은 조금 허약하고 깨지기 쉬운 것으로 보입니다. HandleError 함수에서 상태 정보 (메시지, 작업 설명, 기타)를 얻는 일관되고 지원되는 방법이 있습니까? 또는 서비스 호출에 대한 예외를 자동으로 기록하는 다른 방법은 있습니까?
SvcTraceViewer가 기존의 로깅 프레임 워크를 사용하여 프로덕션 환경에서 구현할 솔루션을 찾고 있습니다.
감사합니다.
AOP는 항상 나를 괴롭 히지만 여기에서 매우 적용됩니다. 공유해 주셔서 감사합니다. – smaclell