Feature #40: Exceptionless error reporting

This commit is contained in:
Gary Sharp
2014-07-28 20:55:53 +10:00
parent 7062a40dfb
commit ea80876286
20 changed files with 119 additions and 35 deletions
+18 -3
View File
@@ -1,9 +1,13 @@
using Disco.Data.Repository;
using Disco.Services.Interop.DiscoServices;
using Exceptionless;
using Exceptionless.Configuration;
using System;
using System.Linq;
using System.Web;
[assembly: Exceptionless("https://errors.discoict.com.au", "c81e644582374f68aaf1fb546e3db0cd")]
namespace Disco.Web
{
public static class AppConfig
@@ -27,16 +31,19 @@ namespace Disco.Web
public static void InitalizeCoreEnvironment(DiscoDataContext Database)
{
ExceptionlessClient.Current.SendingError += Exceptionless_SendingError;
// Initialize Logging
Disco.Services.Logging.LogContext.Initalize(Database, DiscoApplication.SchedulerFactory);
// Initialize Active Directory Interop
Disco.Services.Interop.ActiveDirectory.ActiveDirectory.Initialize(Database);
// Load Organisation Name
DiscoApplication.DeploymentId = Database.DiscoConfiguration.DeploymentId;
DiscoApplication.OrganisationName = Database.DiscoConfiguration.OrganisationName;
DiscoApplication.MultiSiteMode = Database.DiscoConfiguration.MultiSiteMode;
// Initialize Active Directory Interop
Disco.Services.Interop.ActiveDirectory.ActiveDirectory.Initialize(Database);
// Setup Global Proxy
DiscoApplication.SetGlobalProxy(Database.DiscoConfiguration.ProxyAddress,
Database.DiscoConfiguration.ProxyPort,
@@ -47,6 +54,14 @@ namespace Disco.Web
Disco.Services.Users.UserService.Initialize(Database);
}
static void Exceptionless_SendingError(object sender, ErrorModelEventArgs e)
{
e.Error.UserName = DiscoApplication.DeploymentId;
e.Error.UserDescription = DiscoApplication.OrganisationName;
e.Error.Tags.Add(string.Concat("v", DiscoApplication.Version));
}
public static void InitalizeNormalEnvironment(DiscoDataContext Database)
{
InitalizeCoreEnvironment(Database);
+9
View File
@@ -12,6 +12,7 @@ using Disco.Services.Plugins.Features.UIExtension;
using Disco.Services.Plugins.Features.WarrantyProvider;
using Disco.Services.Users;
using Disco.Services.Web;
using Exceptionless;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
@@ -544,6 +545,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
m.Error = ex;
return View(Views.LogWarrantyError, m);
throw;
@@ -558,6 +560,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
m.Error = ex;
return View(Views.LogWarrantyError, m);
}
@@ -580,6 +583,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
m.Error = ex;
return View(Views.LogWarrantyError, m);
throw;
@@ -624,6 +628,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
model.JobDetailsSupported = false;
model.JobDetailsException = ex;
return View(model);
@@ -726,6 +731,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
m.Error = ex;
return View(Views.LogRepairError, m);
throw;
@@ -740,6 +746,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
m.Error = ex;
return View(Views.LogRepairError, m);
}
@@ -762,6 +769,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
m.Error = ex;
return View(Views.LogRepairError, m);
throw;
@@ -806,6 +814,7 @@ namespace Disco.Web.Controllers
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
model.JobDetailsSupported = false;
model.JobDetailsException = ex;
return View(model);
+10 -1
View File
@@ -43,6 +43,15 @@
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<ItemGroup>
<Reference Include="Exceptionless">
<HintPath>..\packages\Exceptionless.1.5.2092\lib\net45\Exceptionless.dll</HintPath>
</Reference>
<Reference Include="Exceptionless.Models">
<HintPath>..\packages\Exceptionless.1.5.2092\lib\net45\Exceptionless.Models.dll</HintPath>
</Reference>
<Reference Include="Exceptionless.Mvc">
<HintPath>..\packages\Exceptionless.Mvc.1.5.2092\lib\net45\Exceptionless.Mvc.dll</HintPath>
</Reference>
<Reference Include="MarkdownSharp">
<HintPath>..\packages\MarkdownSharp.1.13.0.0\lib\35\MarkdownSharp.dll</HintPath>
</Reference>
@@ -2387,7 +2396,7 @@
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
<UserProperties BuildVersion_UpdateFileVersion="True" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.DeltaBaseYear.MonthAndDayStamp.TimeStamp" BuildVersion_DetectChanges="False" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildAction="Both" BuildVersion_StartDate="2014/6/1" />
<UserProperties BuildVersion_StartDate="2014/6/1" BuildVersion_BuildAction="Both" BuildVersion_UseGlobalSettings="False" BuildVersion_DetectChanges="False" BuildVersion_BuildVersioningStyle="None.DeltaBaseYear.MonthAndDayStamp.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_UpdateFileVersion="True" />
</VisualStudio>
</ProjectExtensions>
<PropertyGroup>
+3
View File
@@ -145,6 +145,9 @@ namespace Disco.Web
_OrganisationName = value;
}
}
public static string DeploymentId { get; set; }
public static bool MultiSiteMode { get; set; }
#region Version
+3 -1
View File
@@ -37,7 +37,9 @@
</pages>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<modules runAllManagedModulesForAllRequests="true">
<add name="ExceptionlessModule" type="Exceptionless.Mvc.ExceptionlessModule, Exceptionless.Mvc" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
+2
View File
@@ -3,6 +3,8 @@
<package id="DotNet.Highcharts" version="4.0" targetFramework="net45" />
<package id="EntityFramework" version="5.0.0" targetFramework="net45" />
<package id="EntityFramework.SqlServerCompact" version="4.3.6" targetFramework="net45" />
<package id="Exceptionless" version="1.5.2092" targetFramework="net45" />
<package id="Exceptionless.Mvc" version="1.5.2092" targetFramework="net45" />
<package id="FontAwesome" version="4.1.0" targetFramework="net45" />
<package id="jQuery" version="2.1.1" targetFramework="net45" />
<package id="jQuery.UI.Combined" version="1.10.4" targetFramework="net45" />