module Tapyrus::Logger

Simple Logger module

Constants

Format

Public Class Methods

msg2str(msg) click to toggle source
# File lib/tapyrus/logger.rb, line 31
def self.msg2str(msg)
  case msg
  when ::String
    msg
  when ::Exception
    "#{msg.message} (#{msg.class})\n" << (msg.backtrace || []).join("\n")
  else
    msg.inspect
  end
end

Public Instance Methods

create(name, level = ::Logger::INFO) click to toggle source

Create a logger with given name.log in $HOME/.tapyrusrb/log.

# File lib/tapyrus/logger.rb, line 11
def create(name, level = ::Logger::INFO)
  dir = "#{Tapyrus.base_dir}/log"
  FileUtils.mkdir_p(dir)
  logger = ::Logger.new(dir + "/#{name}.log", 10)
  logger.level = level
  logger.formatter =
    proc do |severity, datetime, progname, msg|
      Format % [
        severity[0..0],
        format_datetime(datetime),
        $$,
        Thread.current.object_id,
        severity,
        progname,
        msg2str(msg)
      ]
    end
  logger
end
format_datetime(time) click to toggle source
# File lib/tapyrus/logger.rb, line 42
def format_datetime(time)
  time.strftime(@datetime_format || '%Y-%m-%dT%H:%M:%S.%6N '.freeze)
end