読者です 読者をやめる 読者になる 読者になる

Rails のログでパラメータをフィルタする

Rails
Started POST "/users" for 127.0.0.1 at 2014-11-28 23:00:59 +0900
Processing by UsersController#create as HTML
  Parameters: {"utf8"=>"", "authenticity_token"=>"B2eI4UTdaJbQ0WOSIdqPrybKJA1iKEdZPQoIXze+anQ=", "user"=>{"email"=>"user1@example.com", "password"=>"[FILTERED]", "security_code"=>"666"}, "commit"=>"Create User"}

Rails ではログに出力したくないパラメータをフィルタすることができます。
フィルタされたパラメータはログ内で[FILTERED] という文字に置き換えられます。
Railsの設定ファイルconfig.filter_parametersにフィルタするパラメータを追加することができます。

# config/environments/production.rb
  config.filter_parameters << :security_code
Started POST "/users" for 127.0.0.1 at 2014-11-28 23:01:39 +0900
  ActiveRecord::SchemaMigration Load (0.1ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Processing by UsersController#create as HTML
  Parameters: {"utf8"=>"", "authenticity_token"=>"B2eI4UTdaJbQ0WOSIdqPrybKJA1iKEdZPQoIXze+anQ=", "user"=>{"email"=>"user2@example.com", "password"=>"[FILTERED]", "security_code"=>"[FILTERED]"}, "commit"=>"Create User"}

追加した security_code がフィルタされました。