2016-12-12 9 views
1

현재 Castle.Core Logging 추상화를 사용하는 라이브러리에 따라 다릅니다. 라이브러리의 문서와 Castle을 모두 파헤 쳤고 로그 출력을 캡처 로깅 프레임 워크 (NLog,이 경우)로 파이프로 캡처하는 방법을 명확하게 설명하는 것처럼 보이지 않습니다. 나는 또한 fewposts을 통해 파고 들지만이 상황에 적용되지 않는 것으로 간주되면서 기각됩니다.성 코어 로깅을 사용하여 라이브러리에서 로그 출력 캡처

NLog는 나머지 응용 프로그램에서도 잘 작동합니다. 내부 로그에 오류가 없습니다. 이 제 3 자 라이브러리에서 출력되지 않습니다.

나는 Castle.Core NLog integration을 본다.하지만성에 따라 도서관에서 활용할 수있는 것으로 보인다. 도서관에 따라 다르다.

그래서이 라이브러리의 로그 출력을 캡처 할 수 있습니까? 아니면 프로젝트에 지원을 요청해야합니까?

+0

https://github.com/TestStack/White/blob/master/src/TestStack.White/Configuration/CoreAppXmlConfiguration.cs#L53를 참조, 해당 라이브러리는 [TestStack.White] (https://github.com/TestStack/White)입니다. 나는 그것을 몸 속에 언급했을 것이다. 그러나이 질문은 성의 기록을 사용하는 어떤 도서관에도 적용될 것이라고 생각했다. – ReservedDeveloper

답변

1

라이브러리를 호스팅하는 프로세스를 소유하고 있다면 Castle.Core.Log에 사용할 로그 공급자를 지정하는 것은 귀하의 책임입니다. 라이브러리 (흰색)의 경우 컨테이너

를 만들 때 응용 프로그램에서

구성 NLog, 당신은 그것을 설정 중 한 가지 방법으로 로거 공장을 제공해야
container.AddFacility<LoggingFacility>(f => f.LogUsing(LoggerImplementation.NLog)를 호출하여 성 로그 공급자 as explained in the documentation로 NLog 등록 CoreAppXmlConfiguration 인스턴스를 가져 오거나 라이브러리 Application 객체를 초기화 할 때 자신 만의 서브 클래스 인스턴스를 제공하십시오.

가 추가 컨텍스트를 들어

+0

XML 구성 방법을 시도했지만 코드 구성이 선호된다는 메모를 포착하지 않았습니다. 나는이 균열을 줄거야! – ReservedDeveloper

+0

NLog도 구성해야하기 때문에 불평하지 않는 나쁜 NLog 구성으로 끝날 수 있습니다. 'NLog.config' 파일의''루트 태그에서'throwExceptions = "true"'와'internalLogLevel = "Debug"를 사용하십시오. –

+0

불행히도이 프로젝트는 Castle Windsor를 사용하지 않으므로 언급 된 컨테이너에 액세스 할 수 없습니다. 그리고 문제의 도서관은 핵심만을 사용합니다. – ReservedDeveloper