Skip to content

Instantly share code, notes, and snippets.

@itn3000
Created February 2, 2017 12:21
Show Gist options
  • Save itn3000/738c312b63fc382914de3084730431e6 to your computer and use it in GitHub Desktop.
Save itn3000/738c312b63fc382914de3084730431e6 to your computer and use it in GitHub Desktop.
example EventSource and EventListener
using System;
using System.Diagnostics.Tracing;
using System.Diagnostics;
class Program
{
class MyEventListener : EventListener
{
protected override void OnEventWritten(EventWrittenEventArgs eventData)
{
Console.WriteLine($"{eventData.Channel},{eventData.EventName},{eventData.EventSource},{eventData.Message}");
for (int i = 0; i < eventData.Payload.Count; i++)
{
Console.WriteLine($"{eventData.Payload[i]},{eventData.PayloadNames[i]}");
}
}
}
[EventSource(Name = "MyEventSource")]
class MyEvent : EventSource
{
public static MyEvent Instance { get; } = new MyEvent();
private MyEvent()
{
}
[Event(1, Message = "Log={0}")]
public void Log(string message)
{
WriteEvent(1, message);
}
}
static void Main(string[] args)
{
using (var listener = new MyEventListener())
{
listener.EnableEvents(MyEvent.Instance, EventLevel.Informational);
MyEvent.Instance.Log("mogemoge");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment