Fixed SystemStackError: stack level too deep when used with activerecord-session_store
Andrew Kane
committed Jun 18, 2015
commit 8704eaf1c16b870bb18655a9b745d9474e1e2839
Showing 2
changed files with
16 additions
and 6 deletions
CHANGELOG.md
+4
-0
| @@ | @@ -1,3 +1,7 @@ |
| + | ## 1.2.1 [unreleased] |
| + | |
| + | - Fixed `SystemStackError: stack level too deep` when used with `activerecord-session_store` |
| + | |
| ## 1.2.0 | |
| - Added support for PostgreSQL `jsonb` column type | |
ahoy.rb b/lib/ahoy.rb
+12
-6
| @@ | @@ -24,7 +24,6 @@ require "ahoy/stores/active_record_token_store" |
| require "ahoy/stores/log_store" | |
| require "ahoy/stores/fluentd_store" | |
| require "ahoy/stores/mongoid_store" | |
| - | require "ahoy/logger_silencer" |
| require "ahoy/engine" | |
| require "ahoy/warden" if defined?(Warden) | |
| @@ | @@ -85,9 +84,16 @@ end |
| ActionController::Base.send :include, Ahoy::Controller | |
| ActiveRecord::Base.send(:extend, Ahoy::Model) if defined?(ActiveRecord) | |
| - | Logger.send :include, Ahoy::LoggerSilencer |
| - | |
| + | # ensure logger silence will not be added by activerecord-session_store |
| + | # otherwise, we get SystemStackError: stack level too deep |
| begin | |
| - | require "syslog/logger" |
| - | Syslog::Logger.send :include, Ahoy::LoggerSilencer |
| - | rescue LoadError; end |
| + | require "active_record/session_store/extension/logger_silencer" |
| + | rescue LoadError |
| + | require "ahoy/logger_silencer" |
| + | Logger.send :include, Ahoy::LoggerSilencer |
| + | |
| + | begin |
| + | require "syslog/logger" |
| + | Syslog::Logger.send :include, Ahoy::LoggerSilencer |
| + | rescue LoadError; end |
| + | end |