我正在尝试调试Heroku应用。我在使用本地Rails时遇到问题,所以我正在使用Heroku进行调试。我收到了一些POST请求的HTTP 500响应,Heroku唯一愿意告诉我的是:
$ heroku logs
... lots of other stuff ...
POST app.heroku.com/games dyno=web.1 queue=0 wait=0ms service=36ms status=500 bytes=0
如何获取有关我的服务器错误的更多信息?
答案 0 :(得分:2)
您知道Heroku logging吗?在您的本地应用程序目录中:
$ heroku logs
您还可以尝试扩展日志记录
$ heroku addons:upgrade logging:expanded
$ heroku logs --tail
答案 1 :(得分:0)
您可以在Rails中捕获服务器错误并记录它们。最简单的方法是在控制器中添加rescue_from
子句。这将允许您定义一个方法,当未捕获的异常从您的代码中冒出时,将调用该方法。
rescue_from UserNotFoundError, :with => :user_not_found
def throw
#Triggers a UserNotFound error
@user = User.find(42)
end
def user_not_found(exception)
Rails.logger.warn { "User not found\n#{exception.backtrace.join("\n\t")}" }
@message = "Exception logged."
render :errors
end
对于奖励积分,您可以将其添加到基础ApplicationController
班级。
我正在研究Progstr Logger,一个免费的Heroku插件,可以更轻松地存储和搜索日志。我们还有online example做类似的事情来捕捉错误。