kikito kikito - 11 months ago 85
Ruby Question

rails - Redirecting console output to a file

On a bash console, if I do this:

cd mydir
ls -l > mydir.txt

The > operator captures the standard input and redirects it to a file; so I get the listing of files in
instead of in the standard output.

Is there any way to do something similar on the rails console?

I've got a ruby statement that generates lots of prints (~8k lines) and I'd like to be able to see it completely, but the console only "remembers" the last 1024 lines or so. So I thought about redirecting to a file - If anyone knows a better option, I'm all ears.

Answer Source

You can use override $stdout to redirect the console output:

$stdout ='console.out', 'w')

You may also need to call this once:

$stdout.sync = true

This will redirect all output to the file. If you want to temporarily redirect the output make sure that you store the original value of $stdout so you can change it back.