class ParticleLog

Constants

CRITICAL
C_BOLD
C_CRESET
C_RESET
DEBUG
ERROR
IMPORTANT
INFO
IO
VERSION
WARNING

Attributes

color_table[R]
level[RW]
level_table[R]
name[R]

Public Class Methods

new(name, level) click to toggle source
# File lib/particlelog.rb, line 21
def initialize(name, level)
  @name  = name
  @level = level

  @level_table = [
    'DBG',
    ' IO',
    'INF',
    'WRN',
    'ERR',
    'IMP',
    'CRT'
  ]

  @color_table = [
    "\x1b[32m",
    "\x1b[36m",
    "\x1b[34m",
    "\x1b[33m",
    "\x1b[31m",
    "\x1b[37m",
    "\x1b[35m"
  ]
end

Public Instance Methods

critical(message, **opts) click to toggle source
# File lib/particlelog.rb, line 58
def critical  (message, **opts) write(message, **(opts.merge level:  CRITICAL)) end
debug(message, **opts) click to toggle source
# File lib/particlelog.rb, line 52
def debug     (message, **opts) write(message, **(opts.merge level:     DEBUG)) end
error(message, **opts) click to toggle source
# File lib/particlelog.rb, line 56
def error     (message, **opts) write(message, **(opts.merge level:     ERROR)) end
important(message, **opts) click to toggle source
# File lib/particlelog.rb, line 57
def important (message, **opts) write(message, **(opts.merge level: IMPORTANT)) end
info(message, **opts) click to toggle source
# File lib/particlelog.rb, line 54
def info      (message, **opts) write(message, **(opts.merge level:      INFO)) end
inspect() click to toggle source
# File lib/particlelog.rb, line 60
def inspect
  "#<ParticleLog @name=#{@name.inspect} @level=#{@level_table[@level]}>"
end
io(message, **opts) click to toggle source
# File lib/particlelog.rb, line 53
def io        (message, **opts) write(message, **(opts.merge level:        IO)) end
warning(message, **opts) click to toggle source
# File lib/particlelog.rb, line 55
def warning   (message, **opts) write(message, **(opts.merge level:   WARNING)) end
write(message, **opts) click to toggle source
# File lib/particlelog.rb, line 46
def write(message, **opts)
  level   = opts[:level]   || @level
  c = @color_table[level]
  STDERR.print "#{C_BOLD+c}[#{C_CRESET+DateTime.now.strftime+C_BOLD+c} | #{C_CRESET}#{@level_table[level]+C_BOLD+c}] #{C_RESET+name+C_BOLD+c}> #{C_RESET+message}\n"
end