59

私は Rails 4 プロジェクトに取り組んでいますが、電話Rails.logger.debug "test"をかけても開発ログに何も表示されないようです。オンラインで検索してみましたが、あまり進歩していないように感じます。ロガーをセットアップして、開発ログ ファイルに書き込むように指示するにはどうすればよいですか?

どんな助けでも大歓迎です。

4

4 に答える 4

79

メソッドでこのように使用する必要があると思います。ここでセクション 2.3をチェックアウトします

def your_method  
  logger.debug "This is from debug"
  logger.info "This is from info"
end
于 2013-07-20T16:16:25.850 に答える
8

rails には簡単なログ記録メカニズムがあります

コントローラー/モデル内から

logger.info 'some info'
logger.error 'some error'

これらの Rails のセクションの外から、サービス オブジェクト、ライブラリ オブジェクトなどの Plain Old Ruby オブジェクトでは、同じデフォルト ロガーに簡単にアクセスできます。

レールの場合 < 3

logger = RAILS_DEFAULT_LOGGER
logger.info 'some info'
logger.error 'some error'

レールの場合 > 3

logger = Rails.logger
logger.info 'some info'
logger.error 'some error'
于 2018-09-05T11:19:48.947 に答える
1

Rails.loggerPlain Old Ruby Object またはで使用する場合ServiceObjectは、手動で含める必要があります。

class MyService
  def initialize(foo)
    @logger = Logger.new(STDOUT)
    @foo = foo
  end

  def call
    do_something
  end

  private

  def do_something
    @logger.debug { "do_something called! With #{@foo.class} class" }
  end
end

結果:

MyService.new(Bar.new).call
# [2018-01-27T00:17:22.167974 #57866] DEBUG -- : do_something called! With Bar class
于 2018-01-27T08:31:12.393 に答える