Ruby on rails rails3中的log\u错误方法

Ruby on rails rails3中的log\u错误方法,ruby-on-rails,ruby,error-log,Ruby On Rails,Ruby,Error Log,我正在将我的应用程序切换到Rails 3,目前我发现log_error方法存在一些问题。在文档()中,他们说最后一个版本是在2.3.8中,所以在这种情况下,它不工作是正常的 但当我检查这些备选方案时,他们提出了rails 3支持的方案。但他还是告诉我“未定义的方法日志错误” 我在我的应用程序控制器中使用它,如下所示: def render\u未找到(异常=nil) 如果出现异常,则记录错误(异常) #通知_hoptoad(例外) 呈现:template=>“/help/404.html.erb”

我正在将我的应用程序切换到Rails 3,目前我发现log_error方法存在一些问题。在文档()中,他们说最后一个版本是在2.3.8中,所以在这种情况下,它不工作是正常的

但当我检查这些备选方案时,他们提出了rails 3支持的方案。但他还是告诉我“未定义的方法日志错误”

我在我的应用程序控制器中使用它,如下所示:

def render\u未找到(异常=nil)
如果出现异常,则记录错误(异常)
#通知_hoptoad(例外)
呈现:template=>“/help/404.html.erb”,:status=>404
结束
def render_错误(异常)
日志错误(异常)
通知_hoptoad(例外)
render:template=>“/help/500.html.erb”,:status=>500
结束

那么我如何使用Rails 3中的log_error方法呢?或者这个方法还有其他选择吗?

您想要使用的方法是
私有的
,所以您不能显式地调用它。
我认为您应该使用类似这样的方法来显示异常:

message = "\n#{exception.class} (#{exception.message}):\n"
Rails.logger.warn(messafe)

这只是一个猜测,所以您可以根据自己的需要对其进行自定义。

我在此基础上进行了扩展以使用它:
Rails.logger.error(“\n{exception.class}({exception.message}):\n{Rails.backtrace\u cleaner.clean(exception.backtrace.join(“\n”))