2012-02-10 71 views

回答

7

如果只是用rake db:seed任务运行你的种子,你可以这样做:

$ rake db:seed --trace 
+0

我现在追踪 - 我想最合乎逻辑的就是将标准输出捕获到文件中。 - 跟踪碎片只是stderror。是否有专门播种的环境? – timpone 2012-02-10 19:09:35

+0

嗯,默认情况下它会播种到开发环境,但您可以使用RAILS_ENV参数进行指定。如果您想要记录特定的内容,您应该可以使用Rails.logger,但是如果您只是想将错误捕获到日志文件中,那么您需要将追踪输出传送到指定的文件中。我想我不确定你试图登录的是什么。 – JDutil 2012-02-10 22:33:23

1

尝试

say_with_time("Doing this and that") do 
    # seed stuff 
end 

,使你的种子更详细,并通过“>登录”重定向到文件。 我想你可以在初始时劫持记录器,如果你不喜欢'> log'解决方案,可以使用文件记录器。

+0

这就是我在想什么。看起来我似乎想创建一个与种子相关的不同环境。也许为每次运行创建一个时间戳文件。 – timpone 2012-02-10 19:31:13

+0

'say_with_time'只适用于'ActiveRecord :: Migration' – 2013-03-14 18:49:12

1

Rails.logger.debug(“信息”)将前往日志/ development.log文件。

您可以在控制台tail -f log/development.log中执行此操作以查看它的实际操作。