Module: MongoidLogger::Filter

Defined in:
lib/mongoid_logger/filter.rb

Overview

ApplicationController に include して around_filter でログ挿入するためのモジュール

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



8
9
10
# File 'lib/mongoid_logger/filter.rb', line 8

def self.included(klass)
  klass.class_eval { around_filter :enable_mongoid_logger }
end

Instance Method Details

#enable_mongoid_loggerObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/mongoid_logger/filter.rb', line 12

def enable_mongoid_logger
  return yield unless logger.respond_to?(:enable_mongoid_logging)

  f_params = case
             when request.respond_to?(:filtered_parameters)
               request.filtered_parameters
             when respond_to?(:filter_parameters)
               filter_parameters(params)
             else
               params
             end
  # controllerのloggerに対して処理を行います
  logger.enable_mongoid_logging(self, {
    :request_method => request.request_method,
    :path       => request.path,
    :url        => request.url,
    :params     => f_params,
    :remote_ip  => request.remote_ip,
  }) { yield }
end