module Memolog

Constants

Config
VERSION

Attributes

config[RW]

Public Instance Methods

configure() { |config| ... } click to toggle source
# File lib/memolog.rb, line 23
def configure
  yield(config) if block_given?
end
dump() click to toggle source
# File lib/memolog.rb, line 52
def dump
  return if logdevs.empty?

  beginning = logdevs.last.string.length - config.log_size_limit
  beginning = 0 if beginning.negative?

  dump = logdevs.last.string.slice(beginning, config.log_size_limit).presence

  dump && config.parse_json ? JSON.parse(dump) : dump
rescue JSON::ParserError
  dump
end
extend_logger(other_logger) click to toggle source
# File lib/memolog.rb, line 31
def extend_logger(other_logger)
  other_logger.extend(Memolog::LoggerExtension)
end
init_middlewares!() click to toggle source
# File lib/memolog.rb, line 27
def init_middlewares!
  Memolog::Init.init_middlewares!
end
logdevs() click to toggle source
# File lib/memolog.rb, line 39
def logdevs
  Thread.current[:memolog_logdevs] ||= []
end
logger() click to toggle source
# File lib/memolog.rb, line 35
def logger
  Thread.current[:memolog_logger] ||= Logger.new(nil, formatter: config.formatter)
end
run() { || ... } click to toggle source
# File lib/memolog.rb, line 43
def run
  logdevs.push(StringIO.new)
  logger.instance_variable_set(:@logdev, logdevs.last)

  yield
ensure
  logdevs.pop unless config.debug
end