メイン

2007年12月23日

ログ出力

本日は、ログの強化を図ってみた。
作り初めは、そんなに大きなものになるとは思ってなかったので
適当にやってたのだが、ちょっと収拾がつかなくなってきたので
cleaningをしてみた。

rubyには、Loggerクラスという標準添付のクラスライブラリがあり
RoRも基本はそれを使っている。「基本は、、、」といってるのは、出力フォーマットを
デフォルトから変更してあるから。

1. デフォルトでは、時間、severity等が出力されるが、何もださないようになっている。
2. カラー出力される。

1.は以下のような記述を、どこかに書いておけばフォーマットを変更可能
class Logger < Logger
def format_message(severity, timestamp, progname, msg)
"#{timestamp.strftime("[%Y-%m-%d %H:%M:%S]")} #{severity} (#{$$}) #{progname} #{msg}\n"
end
end

2.は以下をenvironment.rbに書いておくとカラー化はされない
ActiveRecord::Base.colorize_logging = false

ということで、とりあえず、STDERRでのメッセージ出力は消去。