【发布时间】:2012-02-01 22:59:33
【问题描述】:
我正在尝试运行一个 Ruby 应用程序,它将信息输出到控制台。我想让这个输出保存到文本/日志文件中。 这甚至可能吗? ruby 必须有一个 flag 才能做到这一点?
【问题讨论】:
-
您想在 Ruby 应用程序中执行此操作,还是在运行 Ruby 应用程序的终端中执行此操作?
标签: ruby-on-rails ruby terminal gem
我正在尝试运行一个 Ruby 应用程序,它将信息输出到控制台。我想让这个输出保存到文本/日志文件中。 这甚至可能吗? ruby 必须有一个 flag 才能做到这一点?
【问题讨论】:
标签: ruby-on-rails ruby terminal gem
ruby script.rb > out.txt
rails server > out.txt
另外,你也可以重定向 $stdout, $stderr:
$stdout = File.new('/path/to/out.txt', 'w')
【讨论】:
script -c "rails runner -e development lib/scripts/my_script.rb" report.txt 帮助我轻松地将 Rails 运行器脚本的非常长的输出捕获到文件中。我尝试使用重定向到一个文件,但它只写在脚本的末尾。这对我没有帮助,因为我的脚本中几乎没有交互式命令。然后我只使用了script,然后在脚本会话中运行rails runner,但它并没有写下所有内容。然后我找到了这个script -c "runner command here" output_file,它根据需要保存了所有输出。这是在 Ubuntu 14.04 LTS 上