class HerdstWorker::Log::Facade

Attributes

level[RW]
logger[RW]
progname[RW]
single_line[RW]

Public Class Methods

new(level = "DEBUG", progname = DEFAULT_PROGNAME, single_line = false) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 17
def initialize(level = "DEBUG", progname = DEFAULT_PROGNAME, single_line = false)
    self.progname = progname
    self.single_line = single_line
    
    self.logger = Logger.new(STDOUT)
    self.logger.progname = self.get_progname(progname)
    self.set_log_level(level)
end

Public Instance Methods

debug(*attributes) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 33
def debug(*attributes)
    write_message :debug, attributes
end
error(*attributes) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 48
def error(*attributes)
    write_message :error, attributes
end
fatal(*attributes) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 53
def fatal(*attributes)
    write_message :fatal, attributes
end
info(*attributes) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 38
def info(*attributes)
    write_message :info, attributes
end
method_missing(name) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 58
def method_missing(name)
    full_name = self.progname === DEFAULT_PROGNAME ? 
        name : 
        "#{self.progname}.#{name}"
    
    Facade.new(self.level, full_name, self.single_line)
end
set_log_level(level) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 27
def set_log_level(level)
    self.level = level
    self.logger.level = Logger.const_get(level)
end
warn(*attributes) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 43
def warn(*attributes)
    write_message :warn, attributes
end
write_message(type, message) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 67
def write_message(type, message)
    if self.single_line
        full_message = message.map { |i| i.to_s }.join(" ")
    else
        full_message = message.map { |i| i.to_s }.join("\n")
    end
    
    self.logger.send(type, full_message)
end

Protected Instance Methods

get_progname(name) click to toggle source
# File lib/herdst_worker/log/facade.rb, line 79
def get_progname(name)
    "[#{name.upcase}]"
end