2017-02-28 10 views
0

私はロガークラスを使用していますが、エラーが発生しています。Rubyクラスロガーが動作しません

コード: -

class Try 
    def method_missing(method_name, *args) 
    logger.warn "I am try to call #{method_name} with these arguments #{args}" 
    super 
    end 
end 
Try.new.dummy(1, "my name is rosy.") 

取得エラー: -

stack level too deep (SystemStackError) 

を教えてください。この問題を解決する方法。

+3

私の推測では、あなたが(logger' 'への呼び出しのための)' method_missing'を呼び出します(**は定義されていません) 'logger'を呼び出す' method_missing'をトリガー 'dummy'呼び出すことです'logger'を呼び出します...これは' Try'クラスのソースですか? –

答えて

2

あなたはレールアプリではないと仮定しています。 loggerインスタンスをインスタンス化しましたか?

require 'logger' 

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

logger.warn "test" 
+0

ありがとう!その仕事はうまくいく。 – test

関連する問題