Added logger convenience methods to connection and database. Makes it possible to use the logger instance in the driver from the outside world.
This commit is contained in:
parent
1fc537c78e
commit
89d420780f
@ -94,6 +94,10 @@ module Mongo
|
|||||||
def db(db_name, options={})
|
def db(db_name, options={})
|
||||||
DB.new(db_name, @pair, @options.merge(options))
|
DB.new(db_name, @pair, @options.merge(options))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def logger
|
||||||
|
@options[:logger]
|
||||||
|
end
|
||||||
|
|
||||||
# Returns a hash containing database names as keys and disk space for
|
# Returns a hash containing database names as keys and disk space for
|
||||||
# each as values.
|
# each as values.
|
||||||
|
@ -58,6 +58,9 @@ module Mongo
|
|||||||
|
|
||||||
# The database's socket. For internal (and Cursor) use only.
|
# The database's socket. For internal (and Cursor) use only.
|
||||||
attr_reader :socket
|
attr_reader :socket
|
||||||
|
|
||||||
|
# The logger instance if :logger is passed to initialize
|
||||||
|
attr_reader :logger
|
||||||
|
|
||||||
def slave_ok?; @slave_ok; end
|
def slave_ok?; @slave_ok; end
|
||||||
def auto_reconnect?; @auto_reconnect; end
|
def auto_reconnect?; @auto_reconnect; end
|
||||||
|
@ -66,6 +66,17 @@ class TestConnection < Test::Unit::TestCase
|
|||||||
assert output.string.include?("db.test.find")
|
assert output.string.include?("db.test.find")
|
||||||
assert !output.string.include?("db.test.remove")
|
assert !output.string.include?("db.test.remove")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_connection_logger
|
||||||
|
output = StringIO.new
|
||||||
|
logger = Logger.new(output)
|
||||||
|
logger.level = Logger::DEBUG
|
||||||
|
connection = Connection.new(@host, @port, :logger => logger)
|
||||||
|
assert_equal logger, connection.logger
|
||||||
|
|
||||||
|
connection.logger.debug 'testing'
|
||||||
|
assert output.string.include?('testing')
|
||||||
|
end
|
||||||
|
|
||||||
def test_drop_database
|
def test_drop_database
|
||||||
db = @mongo.db('ruby-mongo-will-be-deleted')
|
db = @mongo.db('ruby-mongo-will-be-deleted')
|
||||||
|
@ -2,6 +2,8 @@ $LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
|
|||||||
require 'digest/md5'
|
require 'digest/md5'
|
||||||
require 'mongo'
|
require 'mongo'
|
||||||
require 'test/unit'
|
require 'test/unit'
|
||||||
|
require 'stringio'
|
||||||
|
require 'logger'
|
||||||
|
|
||||||
class TestPKFactory
|
class TestPKFactory
|
||||||
def create_pk(row)
|
def create_pk(row)
|
||||||
@ -45,6 +47,17 @@ class DBTest < Test::Unit::TestCase
|
|||||||
@@users = @@db.collection('system.users')
|
@@users = @@db.collection('system.users')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_logger
|
||||||
|
output = StringIO.new
|
||||||
|
logger = Logger.new(output)
|
||||||
|
logger.level = Logger::DEBUG
|
||||||
|
db = Connection.new(@host, @port, :logger => logger).db('ruby-mongo-test')
|
||||||
|
assert_equal logger, db.logger
|
||||||
|
|
||||||
|
db.logger.debug 'testing'
|
||||||
|
assert output.string.include?('testing')
|
||||||
|
end
|
||||||
|
|
||||||
def test_full_coll_name
|
def test_full_coll_name
|
||||||
coll = @@db.collection('test')
|
coll = @@db.collection('test')
|
||||||
|
Loading…
Reference in New Issue
Block a user