class Mongoid::LogSubscriber

A Log subscriber to the moped queries

@since 4.0.0

Public Instance Methods

debug(prefix, operations, runtime) click to toggle source

Log the provided operations.

@example Delegates the operation to moped so it can log it.

subscriber.debug("MOPED", {}, 30)

@param [ String ] prefix The prefix for all operations in the log. @param [ Array ] ops The operations. @param [ String ] runtime The runtime in formatted ms.

@since 4.0.0

# File lib/mongoid/log_subscriber.rb, line 35
def debug(prefix, operations, runtime)
  Moped::Loggable.log_operations(prefix, operations, runtime)
end
logger() click to toggle source

Get the logger.

@example Get the logger.

subscriber.logger

@return [ Logger ] The logger.

@since 4.0.0

# File lib/mongoid/log_subscriber.rb, line 47
def logger
  Moped.logger
end
query(event) click to toggle source

Log the query operation on moped

@since 4.0.0

# File lib/mongoid/log_subscriber.rb, line 10
def query(event)
  return unless logger.debug?

  payload = event.payload
  runtime = ("%.4fms" % event.duration)
  debug(payload[:prefix], payload[:ops], runtime)
end
query_cache(event) click to toggle source
# File lib/mongoid/log_subscriber.rb, line 18
def query_cache(event)
  return unless logger.debug?

  database, collection, selector = event.payload[:key]
  operation = "%-12s database=%s collection=%s selector=%s" % ["QUERY CACHE", database, collection, selector.inspect]
  logger.debug operation
end