class Trema::Logger
The default logger.
Public Class Methods
new(name)
click to toggle source
# File lib/trema/logger.rb, line 6 def initialize(name) @name = name @logger = {}.tap do |list| list[:file] = create_file_logger list[:stdout] = create_stdout_logger end end
Public Instance Methods
debug(message)
click to toggle source
# File lib/trema/logger.rb, line 34 def debug(message) output :debug, message end
error(message)
click to toggle source
# File lib/trema/logger.rb, line 22 def error(message) output :error, message end
fatal(message)
click to toggle source
# File lib/trema/logger.rb, line 18 def fatal(message) output :fatal, message end
info(message)
click to toggle source
# File lib/trema/logger.rb, line 30 def info(message) output :info, message end
level()
click to toggle source
# File lib/trema/logger.rb, line 42 def level @logger[:file].level end
level=(level)
click to toggle source
# File lib/trema/logger.rb, line 38 def level=(level) @logger.values.each { |each| each.__send__ :level=, level } end
unknown(message)
click to toggle source
# File lib/trema/logger.rb, line 14 def unknown(message) output :unknown, message end
warn(message)
click to toggle source
# File lib/trema/logger.rb, line 26 def warn(message) output :warn, message end
Private Instance Methods
create_file_logger()
click to toggle source
# File lib/trema/logger.rb, line 53 def create_file_logger ::Logger.new("#{Phut.log_dir}/#{@name}.log").tap do |logger| logger.level = ::Logger::INFO end end
create_stdout_logger()
click to toggle source
# File lib/trema/logger.rb, line 59 def create_stdout_logger $stdout.sync = true ::Logger.new($stdout).tap do |logger| logger.formatter = proc { |_sev, _dtm, _name, msg| msg + "\n" } logger.level = ::Logger::INFO end end
output(message_type, message)
click to toggle source
# File lib/trema/logger.rb, line 48 def output(message_type, message) @logger.values.each { |each| each.__send__ message_type, message } message end