异常监控通常是
![](/icons/57621yi.gif)
件重要而棘手
![](/icons/57621de.gif)
任务
![](/icons/57621dou2.gif)
而Rails插件ExceptionNot
![](/icons/57621if.gif)
ier通过提供
![](/icons/57621yi.gif)
个mailer对象和
![](/icons/57621yi.gif)
组在Rails应用发生
![](/icons/57621cuowu.gif)
时发送邮件提醒
![](/icons/57621de.gif)
缺省模版
![](/icons/57621dou.gif)
让这
![](/icons/57621yi.gif)
切变得更加容易
![](/icons/57621dou2.gif)
两家公司(Exceptional和Hoptoad)则更进
![](/icons/57621yi.gif)
步
![](/icons/57621dou.gif)
提供了
![](/icons/57621yi.gif)
个第 3方服务来拦截异常并将其显示在web形式
![](/icons/57621de.gif)
界面上
![](/icons/57621dou2.gif)
当然
![](/icons/57621dou.gif)
用户也可以选择继续使用通过邮件或短消息
![](/icons/57621de.gif)
传统通知方式
![](/icons/57621dou2.gif)
我们采访了Exceptional公司
![](/icons/57621de.gif)
Eoghan McCabe和Hoptoad公司
![](/icons/57621de.gif)
Matt Jankowski
![](/icons/57621dou2.gif)
两家技术顾问公司
![](/icons/57621de.gif)
这
![](/icons/57621yi.gif)
想法来自于所从事
![](/icons/57621de.gif)
对于内部以及外部Rails应用
![](/icons/57621de.gif)
维护经验:
Hoptoad - 在过去
![](/icons/57621de.gif)
6个月中
![](/icons/57621dou.gif)
我们已经在所维护
![](/icons/57621de.gif)
很多公司内部和客户
![](/icons/57621de.gif)
应用中使用这
![](/icons/57621yi.gif)
服务
![](/icons/57621dou.gif)
并且很高兴得看到我们
![](/icons/57621de.gif)
异常捕获服务从开始到现在
![](/icons/57621yi.gif)
直在不断
![](/icons/57621de.gif)
完善壮大
![](/icons/57621dou2.gif)
Eoghan则代表Expceptional发言:
Exceptional - 在我们为客户构造应用时
![](/icons/57621dou.gif)
我们非常重视监控性能、负载和异常
![](/icons/57621dou2.gif)
长时间以来
![](/icons/57621dou.gif)
我们
![](/icons/57621yi.gif)
直在使用ExceptionNot
![](/icons/57621if.gif)
ier和 Logged_Exceptions插件
![](/icons/57621dou.gif)
它们确实非常有用
![](/icons/57621dou2.gif)
但我们希望能扩展这些插件
![](/icons/57621dou.gif)
以使得它们能更好
![](/icons/57621de.gif)
适应我们
![](/icons/57621de.gif)
工作环境
![](/icons/57621dou2.gif)
我们想避免
![](/icons/57621yinwei.gif)
通知手段 唯
![](/icons/57621yi.gif)
而造成
![](/icons/57621de.gif)
邮件泛滥
![](/icons/57621dou.gif)
使我们能够通过多种方式获取通知
![](/icons/57621dou.gif)
通过协作查研异常
![](/icons/57621dou.gif)
从整体上对我们所管理
![](/icons/57621de.gif)
所有应用中出现
![](/icons/57621de.gif)
异常有足够
![](/icons/57621de.gif)
控制力
![](/icons/57621dou2.gif)
Exceptional和Hoptoad都推出不久(Exceptional仍处于beta版阶段)
![](/icons/57621dou2.gif)
这两个服务都在不断推出新功能
![](/icons/57621dou2.gif)
从正式发布以来
![](/icons/57621dou.gif)
Hoptoad已经捕获了超过300000个外部应用
![](/icons/57621de.gif)
异常
![](/icons/57621dou2.gif)
从技术方面
![](/icons/57621dou.gif)
Eoghan列出了Exceptional所使用
![](/icons/57621de.gif)
Rails插件:
UltraSphinx – 提供了非常稳定
![](/icons/57621de.gif)
搜索索引
WillPaginate – 几乎所有
![](/icons/57621de.gif)
Rails工程都需要这
![](/icons/57621yi.gif)
插件
hubahuba – 为基本类提供了令人称道
![](/icons/57621de.gif)
扩展
rspec
Matt也列出了Hoptoad所使用
![](/icons/57621de.gif)
插件列表:
![](/icons/57621yi.gif)
个原始
![](/icons/57621de.gif)
Rails应用(如果我们要考虑规模问题
![](/icons/57621dou.gif)
我们会将“
![](/icons/57621cuowu.gif)
捕获部分”和应用
![](/icons/57621de.gif)
其他部分相分离
![](/icons/57621dou.gif)
并且/或增加服务器)
Hoptoad自己开发
![](/icons/57621de.gif)
测试工具(shoulda + factory girl)
Intridea
![](/icons/57621de.gif)
subdo
![](/icons/57621main.gif)
_fu插件
![](/icons/57621dou.gif)
以及DHH
![](/icons/57621de.gif)
openid插件
为整个应用使用
![](/icons/57621de.gif)
Firstly HAML
EngineYard提供
![](/icons/57621de.gif)
部署托管
在安装后Exceptional或Hoptoad后
![](/icons/57621dou.gif)
应用中
![](/icons/57621de.gif)
异常将会被拦截下来
![](/icons/57621dou.gif)
并报告给Exceptional界面
![](/icons/57621dou2.gif)
您可以根据自己
![](/icons/57621de.gif)
偏好决定Exceptional界面
![](/icons/57621de.gif)
具体形式
![](/icons/57621dou.gif)
比如Email通知或手机短消息(短消息这
![](/icons/57621yi.gif)
功能只有Exceptional提供)
![](/icons/57621dou2.gif)
异常
![](/icons/57621de.gif)
发生路径会被自动追踪
![](/icons/57621dou.gif)
其状态也可以转换为“已解决”
![](/icons/57621dou.gif)
“已关闭”或“已忽略”
![](/icons/57621dou2.gif)
![](http://www.crazycoder.cn/WebFiles/20091/3c023f96-8d60-428b-b435-82afc746d754.png)
Hoptoad
当被问及相对于竞争对手
![](/icons/57621dou.gif)
其各自应用有什么killer级特性时
![](/icons/57621dou.gif)
2者
![](/icons/57621de.gif)
回答看起来有些类似
![](/icons/57621dou2.gif)
Eoghan给出了Exceptional
![](/icons/57621yi.gif)
些看起来优于Hoptoad
![](/icons/57621de.gif)
特性: Exceptional所专有特性
![](/icons/57621de.gif)
重要性已经被我们
![](/icons/57621de.gif)
用户所验证
![](/icons/57621dou.gif)
包括注释
![](/icons/57621dou.gif)
和Lighthouse
![](/icons/57621de.gif)
集成
![](/icons/57621dou.gif)
和Campfire
![](/icons/57621de.gif)
集成
![](/icons/57621dou.gif)
短消 息通知等
![](/icons/57621dou2.gif)
我们还可以处理404类
![](/icons/57621de.gif)
异常并计划提供
![](/icons/57621yi.gif)
个比较优雅
![](/icons/57621de.gif)
界面来管理这类异常
![](/icons/57621dou2.gif)
而Hoptoad则会忽略404类
![](/icons/57621de.gif)
异常
![](/icons/57621dou.gif)
正如 ExceptionNot
![](/icons/57621if.gif)
ier那样
![](/icons/57621dou2.gif)
此外
![](/icons/57621dou.gif)
Exceptional专注于服务Rails应用
![](/icons/57621dou.gif)
而Hoptoad则并不特定于某种框架:
我们专注于Rails
![](/icons/57621dou.gif)
所以我们可以让我们
![](/icons/57621de.gif)
服务更加贴近Rails
![](/icons/57621dou.gif)
帮助Rails应用
![](/icons/57621de.gif)
开发者解决他们特定
![](/icons/57621de.gif)
问题
![](/icons/57621dou2.gif)
这两个服务都是免费
![](/icons/57621de.gif)
![](/icons/57621dou2.gif)
在Web应用中
![](/icons/57621dou.gif)
您打算如何处理异常和异常通知呢?
延伸阅读
最新评论