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