People,
I quite frequently have something like:
exec > $logfile 2>&1
at the top of my shell scripts to output everything that follows
(including
errors) into a log file - is there some way of doing the equivalent in a
Ruby
script?
Thanks,
Phil.
Philip R.
Pricom Pty Limited (ACN 003 252 275 ABN 91 003 252 275)
GPO Box 3411
Sydney NSW 2001
Australia
Mobile: +61:(0)411-185-652
Fax: +61:(0)2-8221-9599
E-mail: [email protected]
Phil R. wrote:
People,
I quite frequently have something like:
exec > $logfile 2>&1
at the top of my shell scripts to output everything that follows
(including
errors) into a log file - is there some way of doing the equivalent in a
Ruby
script?
Thanks,
Phil.
This seems to work:
outfile = File.open(“output.txt”, “w”)
$stdout.reopen outfile
$stderr.reopen outfile
puts “hello world!”
system(“dir no_exist”)
=== output.txt ===
hello world!
Volume in drive C has no label.
Volume Serial Number is 7874-56C8
Directory of C:
File Not Found
On Nov 30, 2006, at 19:24 , El Gato wrote:
outfile = File.open(“output.txt”, “w”)
$stdout.reopen outfile
$stderr.reopen outfile
puts “hello world!”
system(“dir no_exist”)
Not really.
$ ruby
outfile = File.open(“output.txt”, “w”)
$stdout.reopen outfile
$stderr.reopen outfile
0.upto 10 do |v| (v%2==0 ? STDOUT : STDERR).puts v; end
$ cat output.txt
1
3
5
7
9
0
2
4
6
8
10
–
Eric H. - [email protected] - http://blog.segment7.net
I LIT YOUR GEM ON FIRE!
Hi all,
Adding $stdout.sync = true; $stderr.sync = true should solve the problem
of stdout and stderr being output of of sync.
See in-line edit below.
On Fri, 2006-01-12 at 16:10 +0900, Eric H. wrote:
$ ruby
outfile = File.open(“output.txt”, “w”)
$stdout.reopen outfile
$stderr.reopen outfile
$stdout.sync = true
$stderr.sync = true