Rails3 系のロギング設定


この記事の所要時間: 223

Rails のデフォルトのロガーだとログレベルだとか日時が出力されないのでログとしてあまり意味がありません。

config/environment.rb の一番最後に以下の記述を追加してください。

class Logger
  class Formatter
    def call(severity, time, progname, msg)
      format = "[%s #%d] %5s -- %s: %sn"
      format % ["#{time.strftime('%Y-%m-%d %H:%M:%S')}.#{'%06d' % time.usec.to_s}",
                  $$, severity, progname, msg2str(msg)]
    end
  end
end

Rails 3.0 系の場合

config/environments/development.rb に以下の記述を含めます。

  config.logger = Logger.new(paths.log.paths[0])
  config.logger.formatter = Logger::Formatter.new
  config.logger.datetime_format = "%Y-%m-%d %H:%M:%S"
  config.logger.level = Logger::DEBUG
  config.colorize_logging = false

Rails 3.1 系の場合

3.1 系の場合は上の書き方だと deprecation warning が発生します。

代わりに次の記述をしてください。

  config.logger = Logger.new(config.paths["log"].first)
  config.logger.formatter = Logger::Formatter.new
  config.logger.datetime_format = "%Y-%m-%d %H:%M:%S"
  config.logger.level = Logger::DEBUG
  config.colorize_logging = false

結構しんどい。

参考

Rails3.1.0へのupgrade方法 – うんたらかんたら日記

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

人気の記事

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP