みんなのちからになりたい

コピペでブログラムつくっていきたい

rubyでlogを吐きたい

実行logを出力させたいけどファイルIOでシコシコ作らないとダメなのかなあだるいなあと思ってぐぐったら標準機能であるっぽい。しかもログレベルとかローテーションもできるっぽい。便利。

http://jp.rubyist.net/magazine/?0008-BundledLibraries

log = Logger.new("test.log", 7)
log.level = Logger::WARN

log.debug("Created logger")
log.info("Program started")
log.warn("Nothing to do!")

とすると

# Logfile created on 2013-02-16 15:11:11 +0900 by logger.rb/31641
W, [2013-02-16T15:11:11.649210 #2036]  WARN -- : Nothing to do!

って出る。

日付のフォーマットも変えられる。

log.datetime_format = "%Y-%m-%d %H:%M:%S"

こうすると

W, [2013-02-16 15:19:26#2072]  WARN -- : Nothing to do!

って出る。まじ便利。