コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Railsでログに残したくないパラメータなどはfilter_parametersに指定する

他の人がやってくれていたアプリのみ触っていたので今後のためのメモ

環境

$ bin/rails -v
Rails 5.2.2

やりたいこと

ユーザログインを作る場合などに受け取ったパラメータをそのままパラメータとしてRailsログに書き出してしまうが、場合によってはRailsのログにそのような個人情報を書き出したくないということがあるので、それらを出さないようにしたい

やり方

フィルタリングしたいパラメータ名を filter_parameters に指定する。

記述方法はいろいろあるが、最近の記述で見かけるのは config/application.rb 内で下記のように書く方法

module {{アプリ名}}
  class Application < Rails::Application
    # ... 中略 ...

    # フィルタリング対象を追加、emailとpasswordは伏せる
    config.filter_parameters += ["email", "password"]
  end
end

というようにすると、 emailpassword はログには [FILTERD] と出て具体的な値は記録されない、

Sentryなどのツールも、この設定を踏襲してくれるので気になるものは一律設定しておくと便利。

参考リンク