/// <summary> /// Automatically send session start, session heartbeats and session end events. /// </summary> /// <param name="config">Exceptionless configuration</param> /// <param name="sendHeartbeats">Controls whether heartbeat events are sent on an interval.</param> /// <param name="heartbeatInterval">The interval at which heartbeats are sent after the last sent event. The default is 30 seconds.</param> /// <param name="useSessionIdManagement">Allows you to manually control the session id. This is only recommended for single user desktop environments.</param> public static void UseSessions(this ExceptionlessConfiguration config, bool sendHeartbeats = true, TimeSpan?heartbeatInterval = null, bool useSessionIdManagement = false) { config.SessionsEnabled = true; if (useSessionIdManagement) { config.AddPlugin <SessionIdManagementPlugin>(); } if (sendHeartbeats) { config.AddPlugin(new HeartbeatPlugin(heartbeatInterval)); } }
public static void UseSessions(this ExceptionlessConfiguration config, bool sendHeartbeats = true) { config.SessionsEnabled = true; if (sendHeartbeats) { config.AddPlugin <HeartbeatPlugin>(); } }
public static void UseTraceLogEntriesPlugin(this ExceptionlessConfiguration config, int?defaultMaxEntriesToInclude = null) { int maxEntriesToInclude = config.Settings.GetInt32(TraceLogPlugin.MaxEntriesToIncludeKey, defaultMaxEntriesToInclude ?? 0); if (!Trace.Listeners.OfType <ExceptionlessTraceListener>().Any()) { Trace.Listeners.Add(new ExceptionlessTraceListener(maxEntriesToInclude)); } if (!config.Settings.ContainsKey(TraceLogPlugin.MaxEntriesToIncludeKey) && defaultMaxEntriesToInclude.HasValue) { config.Settings.Add(TraceLogPlugin.MaxEntriesToIncludeKey, maxEntriesToInclude.ToString()); } config.AddPlugin(typeof(TraceLogPlugin).Name, 70, c => new TraceLogPlugin(c)); }
public static void UseTraceLogEntriesPlugin(this ExceptionlessConfiguration config, int?defaultMaxEntriesToInclude = null) { try { int maxEntriesToInclude = config.Settings.GetInt32(TraceLogPlugin.MaxEntriesToIncludeKey, defaultMaxEntriesToInclude ?? 0); if (!Trace.Listeners.OfType <ExceptionlessTraceListener>().Any()) { Trace.Listeners.Add(new ExceptionlessTraceListener(maxEntriesToInclude)); } if (!config.Settings.ContainsKey(TraceLogPlugin.MaxEntriesToIncludeKey) && defaultMaxEntriesToInclude.HasValue) { config.Settings.Add(TraceLogPlugin.MaxEntriesToIncludeKey, maxEntriesToInclude.ToString()); } config.AddPlugin(typeof(TraceLogPlugin).Name, 70, c => new TraceLogPlugin(c)); } catch (Exception ex) { config.Resolver.GetLog().Error(typeof(ExceptionlessConfigurationExtensions), ex, String.Concat("Error adding ExceptionlessTraceListener: ", ex.Message)); } }
/// <summary> /// Reads the Exceptionless configuration from the app.config or web.config file. /// </summary> /// <param name="config">The configuration object you want to apply the attribute settings to.</param> public static void UseErrorPlugin(this ExceptionlessConfiguration config) { config.RemovePlugin <SimpleErrorPlugin>(); config.AddPlugin <Plugins.ErrorPlugin>(); }
/// <summary> /// Automatically set a reference id for error events. /// </summary> public static void UseReferenceIds(this ExceptionlessConfiguration config) { config.AddPlugin <ReferenceIdPlugin>(); }