ウェブサービスを作っています。

ログにタイムスタンプを追加する

Rails というか ActiveSupport を使っていると、Logger#add などでタイムスタンプが追加されなくなります。

require 'logger'
Logger.new(STDOUT).info 'hello'  # I, [2009-06-24T11:47:29.977960 #4036]  INFO -- : hello
require 'rubygems'
require 'activesupport'
Logger.new(STDOUT).info 'hello'  # hello


ActiveSupport が読み込まれている状態で、通常の Logger 出力にするには、Logger#formatter= を変更します。

logger = Logger.new(STDOUT)
logger.formatter = Logger::Formatter.new
logger.info 'hello'  # I, [2009-06-24T11:51:36.221674 #4036]  INFO -- : hello

ソースは、ActiveSupport の lib/active_support/core_ext/logger.rb です。


以下の情報は、ちょっと古いかもしれません。
ログにタイムスタンプを追加する - elm200 のノマドで行こう!