public void TraceWithFilters() { string log = "TraceWithFilters"; string source = "Source" + nameof(TraceEventFormatAndParams); try { EventLog.CreateEventSource(source, log); using (var listener = new EventLogTraceListener(source)) { listener.Filter = new EventTypeFilter(SourceLevels.Critical); listener.TraceData(null, source, TraceEventType.Information, 12, "string shouldn't be present"); EventLogEntry eventLogEntry = listener.EventLog.Entries.LastOrDefault(); if (eventLogEntry != null) { Assert.DoesNotContain("string shouldn't be present", eventLogEntry.Message); } listener.TraceData(null, source, TraceEventType.Information, 12, "string shouldn't be present", "neither should this"); eventLogEntry = listener.EventLog.Entries.LastOrDefault(); if (eventLogEntry != null) { Assert.DoesNotContain("string shouldn't be present", eventLogEntry.Message); Assert.DoesNotContain("neither should this", eventLogEntry.Message); } listener.TraceEvent(null, source, TraceEventType.Information, 12, "trace an event casually", "one more", null); eventLogEntry = listener.EventLog.Entries.LastOrDefault(); if (eventLogEntry != null) { Assert.DoesNotContain("trace an event casually", eventLogEntry.Message); Assert.DoesNotContain("one more", eventLogEntry.Message); } listener.TraceEvent(null, source, TraceEventType.Information, 12, "i shouldn't be here"); eventLogEntry = listener.EventLog.Entries.LastOrDefault(); if (eventLogEntry != null) { Assert.DoesNotContain("i shouldn't be here", eventLogEntry.Message); } } } finally { EventLog.DeleteEventSource(source); Helpers.RetryOnWin7(() => EventLog.Delete(log)); } }
public void TraceDataParamsData(object[] parameters) { string log = "TraceDataParamsData"; string source = "Source" + nameof(TraceDataParamsData); try { EventLog.CreateEventSource(source, log); using (var listener = new EventLogTraceListener(source)) { listener.TraceData(null, source, TraceEventType.Information, 1, parameters); string expectedMessage = GetExpectedMessage(parameters); ValidateLastEntryMessage(listener, expectedMessage, source); } } finally { EventLog.DeleteEventSource(source); Helpers.RetryOnWin7(() => EventLog.Delete(log)); } }
/// <summary> /// イベント情報をイベントログに書き込みます。 /// </summary> /// <param name="eventCache"></param> /// <param name="source"></param> /// <param name="eventType"></param> /// <param name="id"></param> /// <param name="data"></param> public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data) { _listener.TraceData(eventCache, source, eventType, EventId, data); }