首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Resque:异常和堆栈跟踪

Resque:异常和堆栈跟踪
EN

Stack Overflow用户
提问于 2012-08-30 23:39:57
回答 1查看 1.3K关注 0票数 3

我有一个JRuby/Rails应用程序,包括一个处理HTTP请求的web服务器、一个MySQL数据库和一个处理排队作业的Resque worker。当我在开发模式下,web应用程序中的某些东西抛出异常时,我在浏览器中得到一个很好的跟踪,显示抛出的异常、抛出的行、相关数据和堆栈回溯。

但是,当在Resque worker中执行抛出异常的代码时,我什么也得不到,即使我知道代码抛出了异常。我可以调试的唯一方法是抛出print语句,并找出在Resque worker抛出异常并崩溃之前最后一条print语句被调用的位置。

有没有办法让Resque worker将异常日志和堆栈跟踪记录到日志文件中(在它崩溃之前),这样我就可以看到发生了什么?

编辑-(感谢你的想法@Viren) -我不想把我的应用程序代码弄得到处都是begin/rescue块。我会把begin/rescue代码放在某个地方,以确保异常回溯被记录下来,但是我不知道把它放在哪里。

EN

回答 1

Stack Overflow用户

发布于 2014-09-19 18:08:24

您可以将Resque记录器设置为使用Rails记录器。对于完整堆栈跟踪,您可能希望将其设置为DEBUG级别,这会打印出大量信息。你把它放在initializers/resque.rb

代码语言:javascript
复制
Resque.logger = Rails.logger
Resque.logger.level = Logger::DEBUG

还有Resque gem,尽管它有这个缺点,它会覆盖resque-backtrace中的后端,所以现在没有作业会出现在错误队列中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12200587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档