class Sequel::Database

Public Instance Methods

log_duration(duration, message) click to toggle source

Log message with message prefixed by duration at info level, or warn level if duration is greater than log_warn_duration.

# File lib/appydays/loggable/sequel_logger.rb, line 26
def log_duration(duration, message)
  lwd = log_warn_duration
  log_each(
    lwd && (duration >= lwd) ? :warn : sql_log_level,
    proc { "(#{'%0.6fs' % duration}) #{message}" },
    proc { ["sequel_query", {duration: duration, query: message}] },
  )
end
log_each(level, std, semantic) click to toggle source
# File lib/appydays/loggable/sequel_logger.rb, line 35
def log_each(level, std, semantic)
  @loggers.each do |logger|
    if logger.is_a?(SemanticLogger::Base)
      logger.public_send(level, *semantic.call)
    else
      logger.public_send(level, std.call)
    end
  end
end
log_exception(exception, message) click to toggle source
# File lib/appydays/loggable/sequel_logger.rb, line 7
def log_exception(exception, message)
  log_each(
    :error,
    proc { "#{exception.class}: #{exception.message.strip if exception.message}: #{message}" },
    proc { ["sequel_exception", {sequel_message: message}, exception] },
  )
end
log_info(message, args=nil) click to toggle source

Log a message at level info to all loggers.

# File lib/appydays/loggable/sequel_logger.rb, line 16
def log_info(message, args=nil)
  log_each(
    :info,
    proc { args ? "#{message}; #{args.inspect}" : message },
    proc { ["sequel_log", {message: message, args: args}] },
  )
end