/// <summary> /// Stores the logged error ID's for the current request in session for use on the Application Error error page. /// </summary> /// <remarks> /// Only stores logged error ID's for the current request in session when custom errors is enabled. /// </remarks> /// <param name="sender">The sender of the event.</param> /// <param name="args">The error logged event arguments.</param> public void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { if (!Context.IsCustomErrorEnabled || UserService == null) { return; } List <string> errorIDs; var userService = UserService; // Get logged error ID's for current request if (!userService.Session.TryGet(LoggedErrorIDKey, out errorIDs)) { errorIDs = new List <string>(); } // Add logged error ID if (!errorIDs.Contains(args.Entry.Id)) { errorIDs.Add(args.Entry.Id); } // Update list of logged error ID's for current request userService.Session.Set(LoggedErrorIDKey, errorIDs); }
//protected void Application_Error(object sender, EventArgs e) //{ // ErrorSignal.FromCurrentContext().Raise(Server.GetLastError()); //} protected void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { var result = ElmahErrorHandling.ProcessError(sender, args); if (!string.IsNullOrEmpty(result)) { Response.Redirect(result); } }
private void OnLogged(object sender, ErrorLoggedEventArgs args) { var error = args.Entry.Error; var entryId = args.Entry.Id; log.Error($"Произошла ошибка {entryId} (код {error.StatusCode}, подробности в Elmah):\n" + $"Query string: {error.QueryString}", error.Exception); errorsBot.PostToChannel(entryId, error); }
private void OnLogged(object sender, ErrorLoggedEventArgs args) { var error = args.Entry.Error; var entryId = args.Entry.Id; log.Error(error.Exception, $"Произошла ошибка {entryId} (код {error.StatusCode}, подробности в Elmah):\n" + $"Query string: {error.QueryString.ToQueryString()}" ); if (!IsErrorIgnoredForTelegramChannel(error)) { errorsBot.PostToChannel(entryId, error.Exception); } }
void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { //keep the log form the last 60 days and delete the rest //using (var context = new ElmahContext()) //{ // var baseLineDate = DateTime.UtcNow.AddDays(-60); // var model = context.ELMAH_Errors.Where(p => p.TimeUtc < baseLineDate); // foreach (var item in model) // { // context.ELMAH_Errors.Remove(item); // } // context.SaveChanges(); //} }
// Invoked by Elmah. http://stackoverflow.com/a/2049364/507339 void ErrorLog_Logged(object sender, ErrorLoggedEventArgs e) { Trace.TraceError("Logged ELMAH error with ID: " + e.Entry.Id); if (e.Entry.Error.StatusCode == 0 || e.Entry.Error.StatusCode == 500) { IController errorController = new ErrorController(); var routeData = new RouteData(); routeData.Values["action"] = "LoggedElmahError"; routeData.Values["controller"] = "Error"; routeData.Values["error"] = e.Entry; try { // Set the tournament Id for convenience. MAkes the navigation menu still work in context of a tournament routeData.Values["tournamentId"] = HttpContext.Current.Request.RequestContext.RouteData.Values["tournamentId"]; } catch (Exception) { } errorController.Execute(new RequestContext(new HttpContextWrapper(Context), routeData)); Response.StatusCode = 500; Response.End(); } }
/// <summary> /// Process errors caught in Global.asax /// <para>should be inside protected void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args)</para> /// </summary> /// <param name="sender"></param> /// <param name="args"></param> /// <returns>null if no custom error should be displayed or a link if redirect is required to the specific location</returns> public static string ProcessError(object sender, ErrorLoggedEventArgs args) { if (customErrorsSection != null) { switch (customErrorsSection.Mode) { case CustomErrorsMode.Off: break; case CustomErrorsMode.On: return(customErrorsSection.DefaultRedirect + "?id=" + args.Entry.Id); case CustomErrorsMode.RemoteOnly: if (!HttpContext.Current.Request.IsLocal) { return(customErrorsSection.DefaultRedirect + "?id=" + args.Entry.Id); } break; } } return(null); }
public void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { HttpContext.Current.Items["error"] = args.Entry.Error.Exception.Message; }
public void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { // This is the text shown in Error.aspx Context.Items["error"] = args?.Entry?.Error?.Exception?.Message ?? "Error Unknown"; }
protected override void OnLogged(ErrorLoggedEventArgs args) { LoggedException.Add(args.Entry); base.OnLogged(args); }
void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { PositivoErrorDetail detail = new PositivoErrorDetail(); detail.HandleElmahEvent(System.Web.HttpContext.Current, sender, args); }
void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args) { }
protected void OnLogged(ErrorLoggedEventArgs args) { ErrorLoggedEventHandler logged = this.Logged; if (logged != null) { logged.Invoke(this, args); } }