이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.
EventWrittenEventArgs 클래스는 OnEventWritten 콜백에 대한 데이터를 제공합니다.
이벤트가 EventListener에 디스패치될 때마다 EventListener.OnEventWritten 콜백 메서드가 호출됩니다. 이벤트와 연결된 정보를 포함하는 인스턴스가 전달 EventWrittenEventArgs 됩니다. 클래스의 EventWrittenEventArgs 모든 속성 값은 콜백 중에만 유효합니다.
다음 섹션에는 개별 EventWrittenEventArgs 속성에 대한 추가 정보가 포함되어 있습니다.
ActivityId 속성
System.Activities.Activity와 그 파생 클래스를 사용할 때, 스레드는 연관된 작업이 있는 것으로 표시될 수 있습니다. 이 속성은 ActivityId 이벤트를 기록한 스레드의 활동 ID를 반환합니다. 스레드에는 활동이 있을 필요가 없습니다. 이 경우 이 속성은 반환됩니다 Guid.Empty.
OSThreadId 및 TimeStamp 속성
.NET Core 2.2부터 EventListener 개체는 EventSource 개체에서 발생한 이벤트 외에도 네이티브 런타임 이벤트(예: GC, JIT 및 스레드 풀 이벤트)를 구독할 수 있습니다. 이전 버전의 .NET Core 및 모든 버전의 .NET Framework에서는 스레드 ID와 타임스탬프를 내보낸 동일한 스레드에서 동기적으로 디스패치되므로 환경에서 스레드 ID와 타임스탬프를 수집할 수 있습니다. 그러나 모든 네이티브 런타임 이벤트를 동기적으로 디스패치할 수는 없습니다. GC 이벤트와 같은 일부 이벤트는 관리되는 스레드 실행이 일시 중단될 때 내보내집니다. 이러한 이벤트는 네이티브 코드에서 버퍼링되며 관리 코드가 다시 실행될 수 있으면 디스패처 스레드에 의해 디스패치됩니다. 이러한 이벤트는 버퍼링되므로 환경을 사용하여 스레드 ID 및 타임스탬프를 안정적으로 검색할 수 없습니다. 이 때문에 .NET Core 2.2부터 스레드 ID 및 타임스탬프 정보를 클래스의 EventWrittenEventArgs 멤버로 사용할 수 있습니다.
RelatedActivityId 속성
관련 활동은 현재 활동과 밀접한 관련이 있는 활동입니다. 일반적으로 현재 활동을 발생시킨 활동(Start opcode를 사용하는 이벤트가 일반적으로 이 역할을 합니다)이나, 현재 활동에 의해 생성된 활동(Send opcode가 있는 이벤트가 일반적으로 이 역할을 합니다)입니다.
RelatedActivityID는 사용될 때 로깅을 수행하는 메서드에 의해 명시적으로 전달됩니다. 많은 이벤트가 RelatedActivityId를 통과하지 않는 경우, 이 속성은 Guid.Empty을 반환합니다.
.NET