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