This plugin provides a configuration wrapper to Application Insights and also adds logging for key events.
Tracked events and exceptions:
User events:
EventsOnAfterLockout, EventsOnAfterCreate, EventsOnBeforeDelete, EventsOnAfterAuthenticate
GroupRoleMembers:
EventsOnAfterCreate
GroupMembers:
EventsOnAfterCreate, EventsOnAfterUpdate, EventsOnAfterDelete
Price: FREE
Installation Instructions:
1. In Microsoft Azure create a new resource of Application Insights
2. Once created take the “Instrumentation Key” and place it into the Application Insights Telligent plugin:
3. These logged events can be found in the side menu of Application Insights on Azure:
Monitoring -> Logs (Analytics)
Developer:
Plugin is extensible to track custom events
To track new event inherit from 'IApplicationInsightsApplication' and initialise event.
public class DefaultApplicationTracing : IApplicationInsightsApplication, IPlugin { private IApplicationInsightsPlugin _mainPlugin; public void Initialize() { _mainPlugin = PluginManager.GetSingleton<IApplicationInsightsPlugin>(); if (_mainPlugin.TelemetryClient != null) { var user = Apis.Get<IUsers>(); user.Events.AfterCreate += EventsOnAfterCreate;
Then define event as method:
private void EventsOnAfterCreate(UserAfterCreateEventArgs userAfterCreateEventArgs) { try { _mainPlugin.TelemetryClient.TrackEvent( "TelligentUserOnAfterCreate", new Dictionary<string, string> { {"UserId", userAfterCreateEventArgs.Id.ToString()}, {"UserName", userAfterCreateEventArgs.Username}, {"UserEmail", userAfterCreateEventArgs.PrivateEmail}, }); } catch (Exception e) { Apis.Get<IEventLog>().Write("Application Inisights Failed: " + e, new EventLogEntryWriteOptions() {Category = "Logging", EventType = "Error"}); } }