Mongo::Logging

Public Instance Methods

instrument(name, payload = {}, &blk) click to toggle source

Execute the block and log the operation described by name and payload.

# File lib/mongo/util/logging.rb, line 22
def instrument(name, payload = {}, &blk)
  res = yield
  log_operation(name, payload)
  res
end
log(level, msg) click to toggle source

Log a message with the given level.

# File lib/mongo/util/logging.rb, line 5
def log(level, msg)
  return unless @logger
  case level
    when :debug then
      @logger.debug "MONGODB [DEBUG] #{msg}"
    when :warn then
      @logger.warn "MONGODB [WARNING] #{msg}"
    when :error then
      @logger.error "MONGODB [ERROR] #{msg}"
    when :fatal then
      @logger.fatal "MONGODB [FATAL] #{msg}"
    else
      @logger.info "MONGODB [INFO] #{msg}"
  end
end

Protected Instance Methods

log_operation(name, payload) click to toggle source
# File lib/mongo/util/logging.rb, line 30
def log_operation(name, payload)
  @logger ||= nil
  return unless @logger
  msg = "#{payload[:database]}['#{payload[:collection]}'].#{name}("
  msg += payload.values_at(:selector, :document, :documents, :fields ).compact.map(&:inspect).join(', ') + ")"
  msg += ".skip(#{payload[:skip]})"  if payload[:skip]
  msg += ".limit(#{payload[:limit]})"  if payload[:limit]
  msg += ".sort(#{payload[:order]})"  if payload[:order]
  @logger.debug "MONGODB #{msg}"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.