Открыт пул-запрос для MongoMapper (https://github.com/jnunemaker/mongomapper/pull/413), который позволяет настраивать регистраторы для каждой среды из mongo.yml.
В идеале это становится частью официального распространения. Если нет, патч может быть вам полезен:
diff --git a/lib/mongo_mapper/railtie.rb b/lib/mongo_mapper/railtie.rb
index f8699c9..9509761 100644
--- a/lib/mongo_mapper/railtie.rb
+++ b/lib/mongo_mapper/railtie.rb
@@ -25,7 +25,7 @@ class Railtie < Rails::Railtie
config_file = Rails.root.join('config/mongo.yml')
if config_file.file?
config = YAML.load(ERB.new(config_file.read).result)
- MongoMapper.setup(config, Rails.env, :logger => Rails.logger)
+ MongoMapper.setup(config, Rails.env, :logger => eval(config[Rails.env]['logger']))
end
end
Пример (config / mongo.yml) с использованием вышеуказанного патча:
defaults: &defaults
hosts:
- - 'host1:27017'
- - 'host2:27017'
- - 'host3:27017'
development:
<<: *defaults
database: dev
logger: nil
test:
<<: *defaults
database: test
production:
<<: *defaults
database: prod
logger: Rails.logger
Или поочередно:
defaults: &defaults
hosts:
- - 'host1:27017'
- - 'host2:27017'
- - 'host3:27017'
logger: Rails.logger
development:
<<: *defaults
database: dev
test:
<<: *defaults
database: test
production:
<<: *defaults
database: prod