0

これが非常に基本的な質問である場合は申し訳ありませんが、ここで多くのエントリを確認した後 (そして解決策を実装しようとした後)、まだ答えがありません...

目標は、Ruby スクリプトと Ruby on Rails モデルの両方で、エディションなしで (または可能な限り少ないエディションで) 使用できる Ruby クラスを持つことです。私は次のことをしたい

logger.info 'some tracing'

しかし、そのようなステートメントをルビークラスに入れると、エラーメッセージが表示されます-ルビーとルビーオンレールの両方でメソッドロガーが不明です。良い。そのように修正すると

Rails.logger.info 'some tracing'

rils で動作し始めますが、Rails のない Ruby ではもちろん動作しません。私が間違っていることは何ですか?このhttp://guides.rubyonrails.org/debugging_rails_applications.html#the-logger
を読みましたが、「メッセージを送信する」セクションの例が機能しないため、まだ混乱しています。もう一度申し訳ありませんが、「集団意識」に接続して助けを求める他の可能性は見当たりません;-)

4

1 に答える 1

1

Rails はデフォルトで ruby​​ ロガーを使用します。

ここでAPIドキュメントを見てください: Logger (Ruby 2.0)

次に例を示します。

require 'logger'

logger = Logger.new(STDOUT)
logger.level = Logger::WARN

logger.debug("Created logger")
logger.info("Program started")
logger.warn("Nothing to do!")

編集

使用法:

require 'logger' 

class MyClass 

  def initialize
    @logger = logger = Logger.new(STDOUT)
    @logger.level = Logger::WARN
  end

  def say_something
    @logger.info("You can't see me I'm not important enough")
    @logger.warn("I'm visible")
  end

end
于 2013-06-06T09:41:19.887 に答える