Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class EventLogApplicationInsightsConfig
- {
- private static readonly TelemetryClient telemetryClient = new TelemetryClient(new TelemetryConfiguration("INSTRUMENTATION KEY"));
- public static void ConfigureListener()
- {
- EventLogEvents.LogEvent.After += LogToApplicationInsights;
- }
- private static void LogToApplicationInsights(object sender, LogEventArgs e)
- {
- switch (e.Event.EventType)
- {
- case "E":
- var exceptionTelemetry = new ExceptionTelemetry(e.Event.Exception);
- exceptionTelemetry.Properties.Add("machineName", e.Event.EventMachineName);
- exceptionTelemetry.Properties.Add("description", e.Event.EventDescription);
- telemetryClient.TrackException(exceptionTelemetry);
- break;
- case "W":
- var traceTelemetry = new TraceTelemetry(e.Event.EventDescription, SeverityLevel.Warning);
- traceTelemetry.Properties.Add("machineName", e.Event.EventMachineName);
- traceTelemetry.Properties.Add("description", e.Event.EventDescription);
- traceTelemetry.Properties.Add("exceptionMessage", e.Event.Exception?.Message);
- telemetryClient.TrackTrace(traceTelemetry);
- break;
- default:
- var verboseTelemetry = new TraceTelemetry(e.Event.EventDescription, SeverityLevel.Verbose);
- verboseTelemetry.Properties.Add("machineName", e.Event.EventMachineName);
- verboseTelemetry.Properties.Add("description", e.Event.EventDescription);
- telemetryClient.TrackTrace(verboseTelemetry);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement