Class: Zold::Trace

Inherits:
Object
  • Object
show all
Defined in:
lib/zold/node/trace.rb

Overview

Log that traces everything

Instance Method Summary collapse

Constructor Details

#initialize(log, limit = 4096) ⇒ Trace

Returns a new instance of Trace.



30
31
32
33
34
35
# File 'lib/zold/node/trace.rb', line 30

def initialize(log, limit = 4096)
  @log = log
  @buffer = []
  @mutex = Mutex.new
  @limit = limit
end

Instance Method Details

#debug(msg) ⇒ Object



43
44
45
46
# File 'lib/zold/node/trace.rb', line 43

def debug(msg)
  @log.debug(msg)
  append('DBG', msg) if debug?
end

#debug?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/zold/node/trace.rb', line 48

def debug?
  @log.debug?
end

#error(msg) ⇒ Object



61
62
63
64
# File 'lib/zold/node/trace.rb', line 61

def error(msg)
  @log.error(msg)
  append('ERR', msg)
end

#info(msg) ⇒ Object



52
53
54
55
# File 'lib/zold/node/trace.rb', line 52

def info(msg)
  @log.info(msg)
  append('INF', msg) if info?
end

#info?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/zold/node/trace.rb', line 57

def info?
  @log.info?
end

#to_sObject



37
38
39
40
41
# File 'lib/zold/node/trace.rb', line 37

def to_s
  @mutex.synchronize do
    @buffer.join("\n")
  end
end