class Gush::Control::Logger
Constants
- LABELS
Attributes
channel[R]
level[RW]
progname[RW]
redis[R]
Public Class Methods
new(redis, channel, level = DEBUG)
click to toggle source
# File lib/gush/control/logger.rb, line 11 def initialize(redis, channel, level = DEBUG) @progname = nil @redis = redis @level = level @channel = channel end
Public Instance Methods
<<(message)
click to toggle source
# File lib/gush/control/logger.rb, line 35 def <<(message) write(message) end
add(severity = UNKNOWN, message = nil, prog = nil) { || ... }
click to toggle source
# File lib/gush/control/logger.rb, line 18 def add(severity = UNKNOWN, message = nil, prog = nil, &block) return true if severity < level if message.nil? if block_given? message = yield else message = prog prog = progname end end write(format_message(severity, prog || progname, message)) true end
Also aliased as: log
close()
click to toggle source
# File lib/gush/control/logger.rb, line 63 def close # noop end
debug(message = nil, &block)
click to toggle source
# File lib/gush/control/logger.rb, line 39 def debug(message = nil, &block) add(DEBUG, message, nil, &block) end
error(progname = nil, &block)
click to toggle source
# File lib/gush/control/logger.rb, line 51 def error(progname = nil, &block) add(ERROR, nil, progname, &block) end
fatal(progname = nil, &block)
click to toggle source
# File lib/gush/control/logger.rb, line 55 def fatal(progname = nil, &block) add(FATAL, nil, progname, &block) end
info(progname = nil, &block)
click to toggle source
# File lib/gush/control/logger.rb, line 43 def info(progname = nil, &block) add(INFO, nil, progname, &block) end
unknown(progname = nil, &block)
click to toggle source
# File lib/gush/control/logger.rb, line 59 def unknown(progname = nil, &block) add(UNKNOWN, nil, progname, &block) end
warn(progname = nil, &block)
click to toggle source
# File lib/gush/control/logger.rb, line 47 def warn(progname = nil, &block) add(WARN, nil, progname, &block) end
Private Instance Methods
format_message(severity, prog, message)
click to toggle source
# File lib/gush/control/logger.rb, line 77 def format_message(severity, prog, message) current_time = Time.now.utc severity = LABELS[severity] "%s, [%s.%s #%s] %5s -- %s: %s\n" % [severity[0], current_time.iso8601, current_time.usec, $$, severity, prog, message] end
write(message)
click to toggle source
# File lib/gush/control/logger.rb, line 73 def write(message) redis.rpush(channel, message) end