public override SummaryData GetEventSummaryData(PersistentEvent ev) { if (!ShouldHandle(ev)) return null; var error = ev.GetError(); var stackingTarget = error?.GetStackingTarget(); if (stackingTarget?.Error == null) return null; dynamic data = new ExpandoObject(); data.Id = ev.Id; data.Message = ev.Message; if (!String.IsNullOrEmpty(stackingTarget.Error.Type)) { data.Type = stackingTarget.Error.Type.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries).Last(); data.TypeFullName = stackingTarget.Error.Type; } if (stackingTarget.Method != null) { data.Method = stackingTarget.Method.Name; data.MethodFullName = stackingTarget.Method.GetFullName(); } var requestInfo = ev.GetRequestInfo(); if (!String.IsNullOrEmpty(requestInfo?.Path)) data.Path = requestInfo.Path; return new SummaryData { TemplateKey = "event-error-summary", Data = data }; }
public override SummaryData GetEventSummaryData(PersistentEvent ev) { if (!ShouldHandle(ev)) return null; var stackingTarget = ev.GetStackingTarget(); if (stackingTarget?.Error == null) return null; var data = new Dictionary<string, object> { { "Id", ev.Id }, { "Message", ev.Message } }; if (!String.IsNullOrEmpty(stackingTarget.Error.Type)) { data.Add("Type", stackingTarget.Error.Type.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries).Last()); data.Add("TypeFullName", stackingTarget.Error.Type); } if (stackingTarget.Method != null) { data.Add("Method", stackingTarget.Method.Name); data.Add("MethodFullName", stackingTarget.Method.GetFullName()); } var requestInfo = ev.GetRequestInfo(); if (!String.IsNullOrEmpty(requestInfo?.Path)) data.Add("Path", requestInfo.Path); return new SummaryData { TemplateKey = "event-error-summary", Data = data }; }
private IEnumerable<string> GetIpAddresses(PersistentEvent ev) { if (!String.IsNullOrEmpty(ev.Geo) && (ev.Geo.Contains(".") || ev.Geo.Contains(":"))) yield return ev.Geo; var request = ev.GetRequestInfo(); if (!String.IsNullOrWhiteSpace(request?.ClientIpAddress)) yield return request.ClientIpAddress; var environmentInfo = ev.GetEnvironmentInfo(); if (String.IsNullOrWhiteSpace(environmentInfo?.IpAddress)) yield break; foreach (var ip in environmentInfo.IpAddress.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) yield return ip; }
public override SummaryData GetEventSummaryData(PersistentEvent ev) { if (!ShouldHandle(ev)) return null; var error = ev.GetSimpleError(); if (error == null) return null; var data = new Dictionary<string, object> { { "Message", ev.Message } }; if (!String.IsNullOrEmpty(error.Type)) { data.Add("Type", error.Type.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries).Last()); data.Add("TypeFullName", error.Type); } var requestInfo = ev.GetRequestInfo(); if (!String.IsNullOrEmpty(requestInfo?.Path)) data.Add("Path", requestInfo.Path); return new SummaryData { TemplateKey = "event-simple-summary", Data = data }; }
public override SummaryData GetEventSummaryData(PersistentEvent ev) { if (!ShouldHandle(ev)) return null; var error = ev.GetSimpleError(); if (error == null) return null; dynamic data = new ExpandoObject(); data.Message = ev.Message; if (!String.IsNullOrEmpty(error.Type)) { data.Type = error.Type.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries).Last(); data.TypeFullName = error.Type; } var requestInfo = ev.GetRequestInfo(); if (!String.IsNullOrEmpty(requestInfo?.Path)) data.Path = requestInfo.Path; return new SummaryData { TemplateKey = "event-simple-summary", Data = data }; }