スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Railsのログで各行先頭に時刻とログレベルが表示されるようにする

ここのまんま。

config/initializers/buffered_logger_format.rb
を作成する。中身は↓
module ActiveSupport
class BufferedLogger
def add(severity, message = nil, progname = nil, &block)
return if @level > severity
# Exception
if message.is_a? Exception
message = "#{message.message}(#{message.class})\n" +
message.backtrace.to_a.map{|t| " #{t}" }.join("\n")
end

message = (message || (block && block.call) || progname).to_s
# If a newline is necessary then create a new message ending with a newline.
# Ensures that the original message is not mutated.
message = "#{message}\n" unless message[-1] == ?\n

# Format.
message = "#{Time.now} [#{SEV_LABEL[severity]}] #{message}"
buffer << message
auto_flush
message
end

SEV_LABEL = {}
for severity in Severity.constants
SEV_LABEL[Severity.const_get(severity)] = severity
end
end
end

これで production.log とか development.log に
Mon May 31 09:48:14 +0900 2010 [INFO] ・・・
みたいに表示されるようになる。

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/298-4f8d37d3

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。