標準出力を出力しつつファイルにも出力する
移植してるgemで表題のことを実現したかった。
色々調べてみたけど、実現したいことをするにはだいぶ古いきじだけれとこちらのページが参考になった。
def std_out log_fh = self.log_fh std_out = Object.new std_out.instance_eval{@ofile=log_fh} class <<std_out def write(str) STDOUT.write(str) @ofile.write(str) end end return std_out end
こんな感じで 標準出力と指定したファイルに出力するためだけのwrite
メソッドを定義する。
これで実現できた。
ただ、これで使ってるlog_fh
をprivate
メソッドじゃなくなってしまったので、もう少しスマートにしたいなと。
- 作者: Paolo Perrotta,角征典
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2010/08/28
- メディア: 大型本
- 購入: 18人 クリック: 533回
- この商品を含むブログ (124件) を見る