Rails4のログ出力設定方法をまとめました。
1)出力方法
下記のようにログレベルに応じて出力できます。
logger.fatal(“致命的なエラー”)
logger.error(“エラー”)
logger.warn(“警告”)
logger.info(“通知”)
logger.debug(“デバッグ情報”)
2)ModelやController以外で使用する場合
下記のように”Rails”を指定します。
Rails.logger.warn(“警告”)
指定しない場合、下記エラーが発生してしまいました。
undefined local variable or method `logger’
3)オブジェクトを渡す場合
下記のようにログ記録されてしまいました。
#<ActiveModel::Errors:0x0000000622f398>
この場合は、”.inspect”をつけるとオブジェクトの中身を表示してくれました。
Rails.logger.warn(store.errors.inspect)
4)出力するログのレベルを設定
警告以上のログのみ出力する場合は下記のように設定します。
$ vi config/environments/development.rb
config.log_level = :warn
5)Active AdminのCSVインポートでの設定例
$ vi app/admin/marker.rb
active_admin_importable do |model, hash| store = model.new(hash) if store.valid? model.create(hash) else Rails.logger.warn(store.errors.inspect) end end