Module: Moped::Loggable

Included in:
Moped
Defined in:
lib/moped/loggable.rb

Overview

Contains behaviour for logging.

Since:

  • 1.0.0

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.debug(prefix, payload, runtime) ⇒ Object

Log the payload to debug.

Examples:

Log to debug.

Loggable.debug("MOPED", payload "30.012ms")

Parameters:

  • prefix (String)

    The log prefix.

  • payload (String)

    The log operations.

  • runtime (String)

    The runtime in formatted ms.

Since:

  • 2.0.0



41
42
43
# File 'lib/moped/loggable.rb', line 41

def self.debug(prefix, payload, runtime)
  Moped.logger.debug([ prefix, payload, "runtime: #{runtime}" ].join(' '))
end

.log_operations(prefix, ops, runtime) ⇒ Object

Log the provided operations.

Examples:

Log the operations.

Loggable.log_operations("MOPED", {}, 30)

Parameters:

  • prefix (String)

    The prefix for all operations in the log.

  • ops (Array)

    The operations.

  • runtime (String)

    The runtime in formatted ms.

Since:

  • 2.0.0



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/moped/loggable.rb', line 19

def self.log_operations(prefix, ops, runtime)
  indent  = " "*prefix.length
  if ops.length == 1
    Moped.logger.debug([ prefix, ops.first.log_inspect, "runtime: #{runtime}" ].join(' '))
  else
    first, *middle, last = ops
    Moped.logger.debug([ prefix, first.log_inspect ].join(' '))
    middle.each { |m| Moped.logger.debug([ indent, m.log_inspect ].join(' ')) }
    Moped.logger.debug([ indent, last.log_inspect, "runtime: #{runtime}" ].join(' '))
  end
end

.warn(prefix, payload, runtime) ⇒ Object

Log the payload to warn.

Examples:

Log to warn.

Loggable.warn("MOPED", payload "30.012ms")

Parameters:

  • prefix (String)

    The log prefix.

  • payload (String)

    The log operations.

  • runtime (String)

    The runtime in formatted ms.

Since:

  • 2.0.0



55
56
57
# File 'lib/moped/loggable.rb', line 55

def self.warn(prefix, payload, runtime)
  Moped.logger.warn([ prefix, payload, "runtime: #{runtime}" ].join(' '))
end

Instance Method Details

#default_loggerLogger

Get the default logger.

Examples:

Get the default logger.

Loggable.default_logger

Returns:

  • (Logger)

    The default logger.

Since:

  • 1.0.0



92
93
94
95
96
# File 'lib/moped/loggable.rb', line 92

def default_logger
  logger = Logger.new(STDOUT)
  logger.level = Logger::INFO
  logger
end

#loggerLogger

Get the logger.

Examples:

Get the logger.

Loggable.logger

Returns:

  • (Logger)

    The logger.

Since:

  • 1.0.0



67
68
69
70
# File 'lib/moped/loggable.rb', line 67

def logger
  return @logger if defined?(@logger)
  @logger = rails_logger || default_logger
end

#logger=(logger) ⇒ Logger

Set the logger.

Examples:

Set the logger.

Loggable.logger = logger

Returns:

  • (Logger)

    The logger.

Since:

  • 1.0.0



106
107
108
# File 'lib/moped/loggable.rb', line 106

def logger=(logger)
  @logger = logger
end

#rails_loggerLogger

Get the rails logger.

Examples:

Get the rails logger.

Loggable.rails_logger

Returns:

  • (Logger)

    The Rails logger.

Since:

  • 1.0.0



80
81
82
# File 'lib/moped/loggable.rb', line 80

def rails_logger
  defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger
end