class Zold::Trace

Log that traces everything

Public Class Methods

new(log, limit = 4096) click to toggle source
# File lib/zold/node/trace.rb, line 30
def initialize(log, limit = 4096)
  @log = log
  @buffer = []
  @mutex = Mutex.new
  @limit = limit
end

Public Instance Methods

debug(msg) click to toggle source
# File lib/zold/node/trace.rb, line 43
def debug(msg)
  @log.debug(msg)
  append('DBG', msg) if debug?
end
debug?() click to toggle source
# File lib/zold/node/trace.rb, line 48
def debug?
  @log.debug?
end
error(msg) click to toggle source
# File lib/zold/node/trace.rb, line 61
def error(msg)
  @log.error(msg)
  append('ERR', msg)
end
info(msg) click to toggle source
# File lib/zold/node/trace.rb, line 52
def info(msg)
  @log.info(msg)
  append('INF', msg) if info?
end
info?() click to toggle source
# File lib/zold/node/trace.rb, line 57
def info?
  @log.info?
end
to_s() click to toggle source
# File lib/zold/node/trace.rb, line 37
def to_s
  @mutex.synchronize do
    @buffer.join("\n")
  end
end

Private Instance Methods

append(level, msg) click to toggle source
# File lib/zold/node/trace.rb, line 68
def append(level, msg)
  @mutex.synchronize do
    @buffer << "#{level}: #{msg}"
    @buffer.shift if @buffer.size > @limit
  end
end