我的rails任务调用模型方法。我该如何处理日志记录?

时间:2009-09-09 13:30:22

标签: ruby-on-rails logging

为了在我的Rails任务和我的“app”之间保持DRY和共享功能,我在模型中添加了很多功能。在我的模型中,我有“logger.info ...”但是当我从rake任务调用模型函数时这是有问题的,因为没有记录任何内容。是否可以仅针对rake任务重定向记录器,但是当我的“app”(Web请求)调用该功能时,它是否正常记录?

另一个相关问题是,当我从rake任务发送电子邮件时,我没有看到ActiveMailer的记录。

1 个答案:

答案 0 :(得分:1)

您没有看到日志记录,因为rake任务通常非常短暂。默认情况下,记录器仅每1000个字符将日志写入磁盘。因此,您的日志少于1000个字符,并且您的rake任务结束,没有任何内容写入磁盘。

解决方案是致电

logger.flush

在rake任务结束之前强制写入磁盘,最好是在模型操作结束时。

相关问题