class Server::Log

Public Class Methods

new(output_stream) click to toggle source
# File lib/server/log.rb, line 10
def initialize(output_stream)
  @instance = Logger.new(output_stream)

  format_date
  set_prompts
  return @instance
end

Public Instance Methods

add(severity, msg) click to toggle source
# File lib/server/log.rb, line 64
def add(severity, msg)
  @instance.add(severity, msg)
end
debug(msg) click to toggle source
# File lib/server/log.rb, line 43
def debug(msg)
  text = @instance.debug(msg)
  puts "Debug text? #{text}"
end
error(msg) click to toggle source
# File lib/server/log.rb, line 56
def error(msg)
  @instance.error(msg)
end
fatal(msg) click to toggle source
# File lib/server/log.rb, line 60
def fatal(msg)
  @instance.fatal(msg)
end
format_date(format = '%Y-%m-%d %H:%M:%S') click to toggle source
# File lib/server/log.rb, line 18
def format_date(format = '%Y-%m-%d %H:%M:%S')
  @instance.datetime_format = format
end
info(msg) click to toggle source
# File lib/server/log.rb, line 48
def info(msg)
  @instance.info(msg)
end
set_prompts() click to toggle source
# File lib/server/log.rb, line 22
def set_prompts
  @instance.formatter = proc do |severity, datetime, progname, msg|
    case severity.downcase
      when "debug"
        prompt = "☰ ".blue
      when "info"
        prompt = "i ".green
      when "warn"
        prompt = "⚑ ".magenta
      when "error"
        prompt = "⁢⁢⁢⁢⁢⁢✖ ".red
      when "fatal"
        prompt = ":( ".red
      else
        prompt = "✓ ".blue
    end

    ( ARGV.include? "-e" ) ? "#{prompt} #{datetime.strftime("%Y/%m/%d %H:%M:%S")} \n » #{msg.strip} \n\n" : "#{prompt} #{msg.strip} \n"
  end
end
warn(msg) click to toggle source
# File lib/server/log.rb, line 52
def warn(msg)
  @instance.warn(msg)
end