Step by Step Ruby on Rails

Ruby on Railsで実際にWebサイトを構築する手順をまとめています。

Rails4のログ出力設定

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