如何在终端Ruby中查看来自Resque Workers的打印语句

时间:2013-07-29 02:13:23

标签: ruby resque

使用Redis和Resque运行后台作业。目前正在尝试调试进入队列的内容。问题是我无法在终端的任何地方看到我的print语句的输出。

我试图在最后运行tail -f的工作人员,但每次执行此操作时都会遇到rake错误。

任何人都知道如何查看Resque worker的输出吗?

2 个答案:

答案 0 :(得分:1)

正如@Sachin所说,您可以使用Rails记录器,

但是Resque提出了在mono_logger

上实施的自己的日志记录机制

你也可以

Resque.logger. [info | warn | error | debug | fatal]是Resque日志记录提供的一些日志级别功能

默认日志被重定向到STDOUT(检查here)如果要重定向到文件,只需更改为将其重定向到代码中的特定文件即可。

有关mono_logger的更多信息,请参阅github readme

希望这个帮助

答案 1 :(得分:0)

而不是使用puts语句写入使用rails helpers进行记录

logger.debug "Person attributes hash: #{@person.attributes.inspect}"
logger.info "Processing the request..."
logger.fatal "Terminating application, raised unrecoverable error!!!"

您无法看到puts语句的结果,甚至无法在Resque中使用调试器。

了解如何在rails中使用logger

http://guides.rubyonrails.org/debugging_rails_applications.html#sending-messages