Advertisement
Guest User

Untitled

a guest
May 25th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. public static class EventLogApplicationInsightsConfig
  2. {
  3. private static readonly TelemetryClient telemetryClient = new TelemetryClient(new TelemetryConfiguration("INSTRUMENTATION KEY"));
  4. public static void ConfigureListener()
  5. {
  6. EventLogEvents.LogEvent.After += LogToApplicationInsights;
  7. }
  8.  
  9. private static void LogToApplicationInsights(object sender, LogEventArgs e)
  10. {
  11. switch (e.Event.EventType)
  12. {
  13. case "E":
  14. var exceptionTelemetry = new ExceptionTelemetry(e.Event.Exception);
  15. exceptionTelemetry.Properties.Add("machineName", e.Event.EventMachineName);
  16. exceptionTelemetry.Properties.Add("description", e.Event.EventDescription);
  17. telemetryClient.TrackException(exceptionTelemetry);
  18. break;
  19. case "W":
  20. var traceTelemetry = new TraceTelemetry(e.Event.EventDescription, SeverityLevel.Warning);
  21. traceTelemetry.Properties.Add("machineName", e.Event.EventMachineName);
  22. traceTelemetry.Properties.Add("description", e.Event.EventDescription);
  23. traceTelemetry.Properties.Add("exceptionMessage", e.Event.Exception?.Message);
  24. telemetryClient.TrackTrace(traceTelemetry);
  25. break;
  26. default:
  27. var verboseTelemetry = new TraceTelemetry(e.Event.EventDescription, SeverityLevel.Verbose);
  28. verboseTelemetry.Properties.Add("machineName", e.Event.EventMachineName);
  29. verboseTelemetry.Properties.Add("description", e.Event.EventDescription);
  30. telemetryClient.TrackTrace(verboseTelemetry);
  31. break;
  32. }
  33. }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement