2

ログに何かを入れたいのですが、

NameError: undefined local variable or method 'logger' for Report:Class

私はもう試した

logger "hi"
logger 'hi'
logger.info 'hi'
Rails.logger "hi"

しかし、上記のエラーが発生します。

追加しようとしconfig.logger = Logger.new(STDOUT)ましたconfig/environments/development.rbが、それでもエラーが発生しました。

私はでメソッドを実行していscript/consoleます...しかし、すべてをリロードするために毎回終了して入力します。

4

3 に答える 3

3

以下を使用する必要があります。

Rails.logger.info 'hi'

Rails.loggerロガー インスタンスを返し、infowarnerror、またはdebugをメッセージとともに呼び出すと、このメッセージは指定されたログ レベルでログに記録されます。

ActiveRecordまたはActionControllerインスタンス内では、を返す便利なロガーアクセサーも使用できますRails.logger

于 2012-08-16T15:06:15.133 に答える
2

実行しているスコープで使用可能なと呼ばれる変数またはメソッドがない限りlogger、それは魔法のように存在しません。configコンテキストは短期的であり、初期化中のみです。

Rails.logger通常アクセスできるグローバルです。

于 2012-08-16T13:59:11.923 に答える