Sha256: 754667d420966560e0be45412c464d236717d7db2c8fc442e90a3fbef5df6142
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
$:.unshift File.dirname(__FILE__) require 'mongodb_logger/config' require 'mongodb_logger/logger' require 'mongodb_logger/railtie' if defined?(Rails::Railtie) require 'mongodb_logger/engine' if defined?(Rails::Engine) require 'mongodb_logger/version' module MongodbLogger module Base extend Config def self.included(base) base.class_eval { around_filter :enable_mongodb_logger } end def enable_mongodb_logger return yield unless Rails.logger.respond_to?(:mongoize) f_params = case when request.respond_to?(:filtered_parameters) then request.filtered_parameters else params end f_session = case when request.respond_to?(:session) then request.session else session end Rails.logger.mongoize({ :method => request.method, :action => action_name, :controller => controller_name, :path => request.path, :url => request.url, :params => f_params, :session => mongo_fix_session_keys(f_session), :ip => request.remote_ip }) { yield } end # session keys can be with dots. It is invalid keys for BSON def mongo_fix_session_keys(session) new_session = {} session.each do |i, j| new_session[i.gsub(/\./i, "|")] = j.inspect end new_session end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongodb_logger-0.4.2 | lib/mongodb_logger.rb |