1

我一直在搞乱主管日志文件的功能。程序写入标准输出:

ruby sample.rb
>>0.9668821900023237 [tps] 
>>61.91346356232367 [tps] 
>>Heartbeat....
>>58.84168122263758 [tps] 
>>Heartbeat....

当我从主管运行它时,我已经创建了日志文件,但stdout_logfile总是空的。当我把东西弄乱了sample.rb,所以我有任何异常,它被成功写入stdout_logfile由于redirect_stderr.

主管配置文件:

[program:sample]
priority=50
command=/usr/bin/ruby sample.rb
numprocs=1
directory=/home/myapp/myapp
autorestart=true
autostart=true
startsecs=10
stopwaitsecs=90
redirect_stderr=true
stdout_logfile=/var/log/sample.out.log
user=myapp

为什么我看不到输出stdout_logfile

4

1 回答 1

1

flush只需调用标准输出即可解决此问题。

puts "hello world"
$stdout.flush

相关: 在 Ruby 脚本中重定向标准输出的问题

于 2012-09-23T20:54:40.507 回答