0

ユーザーが行うすべてのことをログに記録するために、ロギング モデルとコントローラーを作成したいと考えています。From IPアドレス、ユーザーが呼び出したコントローラー、表示されたビュー、params.inspectでdbテーブルを作成することを考えていました。

現在使用されているコントローラーの変数を取得する方法はありますか? これを展開する最良の方法は何ですか? これをすべて行う宝石はありますか?ありがとうございました

4

1 に答える 1

2

本番環境でログ レベルを :debug に設定すると、すべてのリクエストが必要な情報とともにログに記録されます。おそらく、デバッグ実動ログ用のパーサーを作成する方が簡単かもしれません。

必要に応じて、フィルターを ApplicationController に追加することもできます。

class ApplicationController
  before_filter :log_activity

  def log_activity
    if Rails.env == 'production'
      @logger ||= Logger.new("#{Rails.root}/log/activity.log")
      values = [
        request.remote_ip,
        controller_name,
        action_name,
        params.inspect
      ]
      @logger.info "#{values.join ' | '}"
    end
  end

  ...
end

出力をより詳細にしたいので、これは完全ではないかもしれませんが、これがアイデアです。

于 2012-06-06T11:53:03.240 に答える