□ Description Ruby 1.8.7 動作確認。1.9でもいけるんじゃないかにゃ。 □ Class Method   new([log_file_name [,max_size [,rotate [,log_format, [log_message]]]]])     SimpleRotate オブジェクトを生成します。     4つのオプションは任意です。     log_file_name にはログを保存するファイル名を指定します。     指定しないと「実行ファイル名.log」という名前でファイルができます。     既に同じ名前のファイルがある場合は、そのファイルに追記されます。     max_size でログファイルの最大サイズを指定します。     このサイズを超えた場合、rotate を false にしていない限り、新しいファイルにログを書きます。     その際、古いファイルはリネームされます。     log_file_name.1、log_file_name.2、log_file_name.3、log_file_name.4 という具合に、     古いログファイルほど古い数字が記されます。     ただし、new で既存のログファイルのサイズを評価しますので、     new の時点でログファイルのサイズが 999KB だった場合は e までのログは既存のファイルに吐きます。     従ってログファイルのサイズが max_size を超えることはあります。     デフォルトは 1MBです。     rotate は古いログファイルの世代交代をする回数を指定します。     例えば rotate に 4 を設定すると、古いログファイルは     log_file_name.1、log_file_name.2、log_file_name.3、log_file_name.4 の4世代まで作られます。     この場合、新しいログファイルを入れると全部で5世代でローテーションされます。     この値を true に設定すると世代交代を行わず、無限にログファイルを残します。     長期間放置しておくとディスク領域を圧迫する可能性がありますので、     手ごろな回数で世代交代することをおすすめします。     false にすると、log_file_name.1、log_file_name.2 ... のような古いログは残さず、     max_size に到達した時点でログファイルは一度フラッシュされ、また同じログファイルにログを記録します。     デフォルトは true です。     log_format は古いログファイル(log_file_namexxxxxN)の xxxxx を指定できます。     デフォルトは `.' です。     log_message はログの開始時の終了時に日付とPIDを記録するかどうかの設定です。     true は記録、false は記録しないです。     デフォルトは true です。 □ Method   w(string [,true|false ,[true|false]])     string をログファイルに記録します。     デフォルトでは標準出力には出力しませんが、     第二引数に true を与える標準出力にも出力するようになります。     第三引数に true を与えると w を実行するごとに日付や時間を記録します。   e     ログの記録を終了します。   flush     ログファイルをフラッシュします。     フラッシュされた時点で、max_size に達していないログファイルでも     強制的にローテーションさせることができます。     クーロンと組み合わせることで一日ごとにログをローテーションさせる、     といった使い方ができます。 □ Example require 'optparse' opt = OptionParser.new log = "logfile" opt.on('--log val'){|v| log = v } opt.parse!(ARGV) logf = SimpleRotate.new(log) logf.w("ここに残したいログを!") logf.w("こんな感じで!") logf.e