private View CreateLoggedErrorView(ViewGroup parent, LoggedError error) { TextView tv = new TextView(parent.Context) { Text = error.Name + "\n" + error.Date + "\n" + error.Message }; tv.SetTextIsSelectable(true); var padding = ThemeHelper.AsPx(parent.Context, 4); tv.SetPadding(0, padding, 0, padding); return(tv); }
public IActionResult Index() { var RequestId = ""; try { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; RequestId = RequestId?.Trim('|'); RequestId = RequestId?.Trim('.'); var exceptionHandlerPathFeature = HttpContext.Features.Get <IExceptionHandlerPathFeature>(); _logger.LogError($"RequestId={RequestId} Error={exceptionHandlerPathFeature?.Error} Path={exceptionHandlerPathFeature?.Path}"); var error = new LoggedError() { Id = RequestId, ExceptionType = exceptionHandlerPathFeature?.Error?.GetType().FullName, ExceptionMessage = exceptionHandlerPathFeature?.Error?.Message, ExceptionStackTrace = exceptionHandlerPathFeature?.Error?.StackTrace, Path = exceptionHandlerPathFeature?.Path, CreatedDateTime = DateTime.Now }; _context.LoggedErrors.Add(error); _context.SaveChanges(); } catch (Exception e) { _logger.LogError($"Failed to log error. e={e}"); } return(View(new IndexViewModel() { RequestId = RequestId })); }