在过去的一年里,并没有频繁地更新博客,主要是因为处理日志文件的繁琐过程让感到疲惫。在这些日志中,常常需要筛选大量的信息,才能发现潜在的问题。而当找到错误时,还需要构建上下文以复现错误,这个过程非常耗时。
想象一下,如果只需要两行代码就能配置错误报告,那将是多么美妙的事情:
OneTrue.Configuration.AddSubmitter(
new ReportToOneTrueError(
"e5fccaff-f364-4c41-8c2b-783df78e7991",
"86496810-af50-42a0-b2ff-f6b1558c3cd7"
)
);
OneTrue.Configuration.CatchAspNetExceptions();
这样,如果在代码中发生异常,例如:
[HttpPost]
public ActionResult SendMessage(SendMessageViewModel model)
{
if (!ModelState.IsValid)
return View(model);
var repos = new MessageRepository();
repos.Send(model);
return RedirectToAction("Index");
}
将得到一个错误页面(该页面有多种预定义的配置,并且可以轻松自定义):
同时,还可以在一个网站上查看加载的程序集、提交的数据、异常等信息:
现在,这一切都可以实现。该服务还能检测重复项,确保即使异常被抛出十次或一万次,也只会得到一个事件。
目前,这项服务处于公开测试阶段。服务应该是稳定的,但在正式发布版本之前,还有一些功能尚未完善。