logo       
Bookmark and Share

[ruby-list:42076] Re: puts,printの出力をファイルにも出力するには: msg#00107

lang.ruby.japanese

Subject: [ruby-list:42076] Re: puts,printの出力をファイルにも出力するには

まつもと ゆきひろです

In message "Re: [ruby-list:42074] Re: puts,printの出力をファイルにも出力するには"
on Fri, 21 Apr 2006 14:47:14 +0900, 岩崎 弘孝
<IH000667-Hi7X7xagcuRnb2RyOFEZTHf5DAMn2ifp@xxxxxxxxxxxxxxxx> writes:

|>とてもつまらない方法ですが、ファイルに書き出した後で標準出力に書き出すというのは?
|>この方法でprint,puts,systemなどの出力がファイルに書き出されます。
|
|実際の利用はインタラクティブな処理のログのようなものなので
|最後にまとめて出力されるのは用途に向きません。
|今までは標準出力だけでよいという仕様だったのですが、
|ファイルにも出力するようにと要求があがってきました。
|
|1.8で簡単にやるのは難しそうですね。

以下のコードを実行するとそれ以降print, putsなどの出力がファ
イルと標準出力の両方に行われます。

defout = Object.new
defout.instance_eval{@ofile=open("/path/to/log/file", "w")}
class <<defout
def write(str)
STDOUT.write(str)
@ofile.write(str)
end
end
$stdout = defout

redirectは行っていないのでsystemなど子プロセスの出力はファイ
ルには出力されません。

まつもと ゆきひろ /:|)




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | Mail Home | sitemap | FAQ | advertise