私は Rails 4 プロジェクトに取り組んでいますが、電話Rails.logger.debug "test"
をかけても開発ログに何も表示されないようです。オンラインで検索してみましたが、あまり進歩していないように感じます。ロガーをセットアップして、開発ログ ファイルに書き込むように指示するにはどうすればよいですか?
どんな助けでも大歓迎です。
私は Rails 4 プロジェクトに取り組んでいますが、電話Rails.logger.debug "test"
をかけても開発ログに何も表示されないようです。オンラインで検索してみましたが、あまり進歩していないように感じます。ロガーをセットアップして、開発ログ ファイルに書き込むように指示するにはどうすればよいですか?
どんな助けでも大歓迎です。
メソッドでこのように使用する必要があると思います。ここでセクション 2.3をチェックアウトします
def your_method
logger.debug "This is from debug"
logger.info "This is from info"
end
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'
Rails.logger
Plain 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