RubyのLoggerを用いて、Progress barを表示する


RubyでProgress barの実装が少なかったので + loggerで表示できたら素敵かなと思い、書きました。

Progress.rb
# log設定
logger = Logger.new(STDOUT)
logger.formatter = proc{|severity, datetime, progname, message|
   message.nil? ? "\n" : "\rPROGRESS [#{datetime}] -- : [#{"%-20s" % ('=' * (message.to_f/5))}]#{"%3.1f" % message}%"
}
# log実行
1000.times do |num|
    logger.info(100.0/num)
    sleep 0.5
end
logger.info() # 改行で後処理