4

私は Ruby/Rails の初心者ですが、開発の初心者ではありません。

iniatializer.rb で次のコードを定義しています。

def logger
  if defined?(RAILS_DEFAULT_LOGGER)
    RAILS_DEFAULT_LOGGER
  else
    nil
  end
end

Ruby/Rails アプリケーションでメッセージのロギングを有効にしたいと考えています。

そして、いくつかのRuby/Railsコードでは、

  logger.info "Email attachment: #{size} #{filename}"

\ruby\bin>ruby --version を与える: ruby​​ 1.8.7 (2010-01-10 パッチレベル 249) [i386-mingw32]

logger.info を開いて読み取ることができるファイルに入れるように、ロガーの定義を変更するにはどうすればよいですか? 必要な require/include も含めてください。

ありがとうございました。

4

2 に答える 2

4

あなたのレールが3.X未満の場合は、以下のコードを使用してください

def logger
  if defined?(RAILS_DEFAULT_LOGGER)
    Logger.new('log/my_log.log')
  else 
    nil 
  end
end

Rails > 3.X の場合、上記のコードで RAILS_DEFAULT_LOGGER を Rails.logger に置き換えます。

def logger
  if defined?(Rails.logger)
    Logger.new('log/my_log.log')
  else 
    nil 
  end
end
于 2013-05-07T05:37:22.243 に答える
1

RAILS_DEFAULT_LOGGERずっと前に削除されました。新しい名前はRails.loggerです。これは、レールが読み込まれるときに作成されます。

于 2013-05-06T07:17:33.950 に答える