2

로깅을 구현하기 위해 엔터프라이즈 라이브러리 6을 사용하고 ASP.NET MVC 4 웹 응용 프로그램에서 사용자 추적을 사용하고 있습니다. 이것을 달성하기 위해 추적자를 사용하고 있으며 데이터베이스에 LogEntries를 작성하고 있습니다. 이 잘 작동하지만 지금은 Tracer 항목, ExtendedProperties 필드에 몇 가지 추가 정보를 추가하고 싶습니다. 일반 LogEntry 객체에서 처리 할 수는 있지만 Tracer에서는 수행 할 수 없습니다. 이것을 달성 할 방법이 있습니까? 여기 Enterprise Library Tracer에 확장 속성을 추가하는 방법은 무엇입니까?

내가 뭘하는지입니다 : 내가 변수에 추적기를 할당하더라도

using(traceManager.StartTrace(LogCategory.UserTracing.ToString(), activityId)) 
{ 
Doit(); 
} 

을, 나는 그것이 쓰고 로그 항목에 어떤 영향을 미칠 수 없습니다. TraceManager 클래스도 확인했지만 이것과 관련이 없습니다. 이 때문에 Tracer 클래스가 생성 된 LogEntry을 노출하지 않습니다 사전에

LogEntry e = new LogEntry(); 
e.ExtendedProperties.Add("key", "value"); 

감사합니다,

로버트

답변

2

: 내가 달성하고자하는 어떤

는 다음과 같은 것입니다 상자에서 원하는 것을 얻을 수있는 방법이 없습니다.

확장 속성 지원을 추가하는 가장 쉬운 방법은 Tracer의 소스 코드를 가져 와서 확장 속성을 허용하는 사용자 지정 구현을 만드는 것입니다. 사용자 지정 Tracer을 사용하는 사용자 지정 TraceManager을 만들 수도 있습니다.

FormattedDatabaseTraceListener 상자의 내용은 확장 속성을 로깅하지 않으므로 사용자 지정 추적 수신기를 만들어야합니다 (Enterprise Library Sample Projects에서 한 가지 방법을 찾을 수 있음).

+0

답변 해 주셔서 감사합니다. – Robert