在Ruby中自动记录异常

有没有一种库或简单的方法来捕获Ruby程序中抛出的异常并将其记录到文件中? 我已经看过log4r和logger,但两者上的文档都没有提供任何有关如何执行此操作的示例。 我远程运行该程序,并丢失stdout和stderr的句柄,如果这些信息有帮助的话。

你会推荐什么?


如果你想在狂野的一边散步,试试这个:

class Exception
  alias real_init initialize
  def initialize(*args)
    real_init *args
    # log the error (self) or its args here
  end
end

这将在创建时拦截创建新的异常对象。


Exception拯救。 像这样的东西可能是有道理的:

begin
  # run your code here ..
rescue Exception => exception
  # logger.error(...) ....
  raise exception
end

这将记录异常,并重新提升它,以便应用程序除了记录之外还会产生错误。

exceptionException一个实例,请查看文档以获取有关可以使用此对象执行的操作(例如访问回溯)的信息。


如果您正在运行Rails应用程序,那么Exception Notification插件非常方便。

链接地址: http://www.djcxy.com/p/25855.html

上一篇: Automatically Logging Exceptions in Ruby

下一篇: RSpec retry throw exception and then return value