2010-05-28 8 views

답변

8

Enterprise 라이브러리 5.0 로깅은 스레드로부터 안전합니다.

로깅하기 전에 EL은 속성 인 TraceListener을 확인합니다. 특정 TraceListener가 스레드로부터 안전하지 않으면 수신기의 TraceData 메서드를 호출하기 전에 Monitor.Enter(listener);을 수행합니다.

+0

내가 이것을 알아낼 수 있어야했는지 아니면 소스로 이동하는 것이 알아 내야하는지 궁금한데 –

+1

@ 가브리엘, 공식 문서 전용 토론에서 로깅 스레드 안전성에 대한 논의는 표시되지 않습니다. 캐싱 블록에 대해. 제 3 자 사이트에서 스레드로부터 안전하다고 말했지만 확인하는 것이 좋습니다. –

0

는 지금까지 내가 아는 한, 엔터프라이즈 라이브러리 3.1 로깅 스레드로부터 안전하지 않습니다. Logger 클래스에서 static을 사용하는 LogWriter 클래스의 GetAvailableTraceListeners (IList traceListeners) 호출을 둘러싼 잠금이 없습니다.

관련 문제