WCF 서비스 (NLog 및 PostSharp와 같은 기술 포함) 로깅을보고 있었지만 아직 해결하지 못한 것이 있습니다 ... 누락 된 부분이 있는지 모르겠습니다. 명백한 무언가 또는 그것은 단지 불가능합니다.WCF 서비스, 수직 로깅
100 개 이상의 웹 서비스 호출 진입 점이있는 WCF 서비스 계층이 있다고 가정 해 보겠습니다. 그 중 하나가 문제의 원인입니다. 이 계층 아래에는 비즈니스 로직 계층과 데이터베이스 계층이 있습니다. 내가하고 싶은 것은 서비스 호출 (상관 관계에 대한 활동 ID 포함)에 대한 로깅을 켜서 해당 서비스에 대한 모든 호출을 기록하고 하위 계층의 모든 로그 메시지도 기록하도록하는 것입니다. 하위 계층의 어셈블리 수준에서 로깅을 켜기를 정말로 원하지는 않습니다. 왜냐하면 하위 계층은 웹 서비스 메서드에서 공유되기 때문입니다.
기존 프레임 워크를 통해 또는 창조적 방식으로 CorrelationManager와 같은 것을 사용하여이 작업을 수행 할 수 있습니까?
감사! 그게 정확히 제가 찾는 유형입니다. 이상적으로 Log4net보다 NLog를 사용하고 싶습니다. 좀 더 활성화 된 것 같습니다.하지만 이것은 내 마음을 바꿀 수있는 유형입니다. 분노에서 이와 같은 코드를 사용 했습니까? 멀티 스레드 서비스는 어떻게 처리할까요? –
log4net.ThreadContext는 스레드 로컬 저장소를 사용합니다. 서비스 호출이 스레드를 건너 뛰지 않는 한 (읽기 사용 asych)이 기능은 다중 스레드 환경에서 훌륭하게 작동합니다. 예 저는 실제 프로덕션 엔터프라이즈 서비스에 대해이 중 몇 가지를 수행했습니다. 마지막으로 모든 로그 엔트리에 상관 ID를 두는 것이 었습니다 (ThreadContext에 푸시 된 모든 것이 appender의 변환 패턴에 포함될 수 있습니다). log4net은 매우 적게 누락되어 확장 성이 매우 잘 문서화되어 있기 때문에 매우 활성화되지 않았습니다. 당신이 위장 할 수 있다면 그것이 제네릭보다 먼저 쓰여졌다는 것을 잘 알고 있습니다. – ErnieL
어니 감사합니다. 그게 정확히 제가 찾고있는 유형이었습니다! –