Ruby Padrino通过电子邮件自动发送错误

Ruby Padrino通过电子邮件自动发送错误,ruby,padrino,mailer,Ruby,Padrino,Mailer,有人能建议一种方法让Padrino应用程序中的任何应用程序错误通过电子邮件发送这些错误吗 我已经正确配置了Padrino Mailer,可以发送测试电子邮件,我只是不知道如何配置应用程序,以便通过邮件向我发送报告并记录它,当然,每当发生错误时 谢谢。一个好方法应该是使用异常处理程序。在代码中添加begin..rescue块,如果出现异常,则发送电子邮件并继续执行所需的行为 def some_action begin # some code that could go wrong

有人能建议一种方法让Padrino应用程序中的任何应用程序错误通过电子邮件发送这些错误吗

我已经正确配置了Padrino Mailer,可以发送测试电子邮件,我只是不知道如何配置应用程序,以便通过邮件向我发送报告并记录它,当然,每当发生错误时


谢谢。

一个好方法应该是使用异常处理程序。在代码中添加begin..rescue块,如果出现异常,则发送电子邮件并继续执行所需的行为

def some_action
  begin
    # some code that could go wrong
  rescue SomeExceptionClass => some_variable
    # here you send the email with the errors
    # render stuff, redirect stuff, etc
  end
end
我最后用的是padrino contrib宝石。使用它,您可以安装所需的插件。当然,您也可以手动安装:

padrino-gen plugin exception_notifier
这将把它添加到您的gem文件中,并编辑您的app/app.rb和boot.rb文件以加载此gem

然后在app/app.rb中,您可以放置如下内容:

register Padrino::Contrib::ExceptionNotifier
  set :exceptions_from,    "noreply@domain.com"
  set :exceptions_to,      "your_address.domain.com"
就这样

让插件为您安装它的好处是,如果您比Padrino更熟悉Rails,就像我的情况一样,这不仅会为您设置一些东西,而且还会向您展示您需要执行的指令


希望这对其他人有所帮助。

是的,但我正在寻找一种能够捕捉所有其他错误的方法,而不仅仅是那些我反复强调过的错误,我必须承认,我没有做我应该做的那么多。我似乎记得Rails有一个宝石,但似乎与Padrino不起作用。是的,引擎是不同的。无论如何,您可以使用Exception类,因为所有其他继承都来自它,所以应该捕获所有错误。另一种方法是,您可以在同一开始使用多个rescue,捕获您想要的所有异常类型。您的意思是扩展异常类以发送电子邮件?在帕德里诺我该怎么做?