かなり単純なことですが、検索してもシンプルな方法が引っかからなかったので書いておきます。
問題
Rails は、デフォルトのままだと production では以下のようなログを出力します。
log/production.log
D, [2014-08-25T13:19:43.756025 #1104] DEBUG -- : foo
I, [2014-08-25T13:19:43.756434 #1104] INFO -- : bar
しかし、production 以外の環境だと、以下のようにメッセージしか出力してくれません。
log/development.log
foo
bar
普通に開発している分には、リクエストを受けた時刻が以下のように記録されるので困らないかもしれません。
Started GET "/foo" for x.x.x.x at 2014-08-25 12:33:37 +0900
しかし、リクエストを返すまでの細かい時刻が知りたい、rake タスクのデバッグで時刻が見たい、など prodcution 以外でも詳細な情報を見たい場合があると思います。
解決
そのためには、以下のようにします。
config/application.rb
config.log_formatter = Logger::Formatter.new
これだけです。config/application.rb
の時点では config.logger
は設定されていないので、config.logger.formatter = ...
とはできないのに注意です。
おしまい。