[size=x-large][color=olive] 邮件通知应用程序的异常
所有的开发人员都知道,在程序开发过程中, 如果程序出现错误我们都可以在 日志 和浏览器里看到,但是,一旦 应用程序进入产品的阶段,报告错误的负担就到了用户的身上, 这可不是理想的方法的。 加入程序出现错误了,你想成为第一个知道的人,最好是用户还没有发现的时候你就已经修理好了。
解决的方法:
首先安装 异常通知插件, 可以将严重的应用程序错误发送给开发团队,从应用程序的根目录运行:
$ ruby script/plugin install \
> http://dev.rubyonrails.com/svn/rails/plugins/exception_notification/
安装插件后,下一步是通过 include ExceptionNotifiable 把 ExceptionNotifiable 模版混入 (Mix- in ) 你想用来 发送异常通知的控制器。为了使这种行为在整个应用程序范围有效, 将下面命令 放入 application.rb
app/controllers/application.rb:
class ApplicationController < ActionController::Base
include ExceptionNotifiable
#...
end
剩下的步骤是在 environment.rb 中为邮件制定一个或多个参数的接受者。
config/environment.rb:
ExceptionNotifier.exception_recipients = %w([email protected]
[email protected])
默认的情况下, 插件并不为本地请求发送邮件通知。 如果你想为本地发送通知只需要修改 :environments/development.rb 下面的config 设为 false 。
environments/development.rb:
config.action_controller.consider_all_requests_local = false
加入你的应用程序不是在开发模式下运行,这个选项设为 true 。 不管什么情况下,将他设为 false 会覆盖rails 认定的本地请求。 下面的命令湖告诉插件的程序在本地是失效的:
app/controllers/application.rb:
class ApplicationController < ActionController::Base
include ExceptionNotifiable
local_addresses.clear
#...
end
另一方面,如果你想扩展本地的定义并将一个特定的 Ip地址 包含到地址列表中,你可以将它们传递到控制器的 consider_local 方法。[/color][/size]