// Callback method that gets executed when an event is // reported to the subscription. public static void EventLogEventRead(object obj, EventRecordWrittenEventArgs arg) { // Make sure there was no error reading the event. if (arg.EventRecord != null) { switch (dataType) { case DataType.Xml: var eventXml = XmlVerification.VerifyAndRepairXml(arg.EventRecord.ToXml()); SendXml(eventXml); break; case DataType.Dictionary: var eventDynamic = LogReader.ParseEvent(arg.EventRecord); SendDictionary(eventDynamic); break; default: throw new ArgumentOutOfRangeException(); } } }