Page contents
Origins
Origins allow you to see where the error reports come from. With origins you can easily see if the incident is due to cultural differences or due to localization issues.
Customizing origins
Per default, Coderr use the IP address to lookup the origin of the report. You can however customize which longitude and latitude to use.
try
{
StoreDiscount();
}
catch (Exception ex)
{
Err.Report(ex, new
{
ReportLatitude = "60.6065",
ReportLongitude = "15.6355"
});
}
Using a context provider
If you are using context provider, you can add them to the Coderr collection:
class LocationContextProvider : IContextInfoProvider // Named IContextCollectionProvider in the .NET standard library
{
public ContextCollectionDTO Collect(IErrorReporterContext context)
{
// Only required for the .NET 4.6 library
var v2Context = context as IErrorReporterContext2;
var collection = v2Context.GetCoderrCollection();
collection.Properties["Latitude"] = // pull here from wherever
collection.Properties["Longitude"] = // pull here from wherever
// return null to tell that we did not add a custom collection
return null;
}
/// <summary>
/// No name required since we do not add a collection
/// </summary>
public string Name { get; } = "NonName";
}
Finally register it to the Coderr pipeline:
Err.Configuration.ContextProviders.Add(new LocationContextProvider());