2017-04-26 8 views
0

私はRails 5とRuby 2.4を使用しています。私は、エラーからの出力をキャプチャし、私のコンソール上でそれを印刷したい、と私は私のアプリ/サービスクラス 出力をRailsコンソールに送るにはどうしたらいいですか?

rescue => e 
    error = e 
    msg = "#{e.message}\n" 
    e.backtrace.each { |line| 
    msg = "#{msg}\n#{line}" 
    } 
    logger.error msg 
    raise e 
end 

の一つであるが、私は以下のエラー

NameError: undefined local variable or method `logger' for #<RunCrawlersService:0x007fd14c2f1e10> 
    from /Users/nataliab/Documents/workspace/myproject/app/services/run_mycustom_service.rb:34:in `rescue in block (2 levels) in run_all_crawlers' 
    from /Users/nataliab/Documents/workspace/myproject/app/services/run_mycustom_service.rb:16:in `block (2 levels) in run_all_crawlers' 
    from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task' 
    from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker' 
    from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop' 
    from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker' 
    from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch' 
    from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker' 
に取得しています

出力をコンソールに正しく送信するにはどうすればよいですか?

+0

受け入れ答えはあなたの問題を解決しますが、あなたのアプリケーションをデバッグするために、[てこ](https://github.com/pry/pry)に試してみることができます。 – Aparichith

答えて

3

あなたはRails.loggerを使用したい:

rescue => e 
    Rails.logger.error "#{e.message}\n" 
    e.backtrace.each { |line| Rails.logger.error "#{msg}\n#{line}" } 
    raise e 
end 
+0

__any__ logger(純粋なRuby 'Logger'や' Log4r :: Logger'など)を使うことができます.Railsのロガーは、最も一般的なソリューションです。 – Ilya

関連する問題