Module: Xi::Logger

Included in:
Object
Defined in:
lib/xi/logger.rb

Constant Summary collapse

LOG_FILE =
File.join(Dir.tmpdir, 'xi.log')

Instance Method Summary collapse

Instance Method Details

#debug(*args) ⇒ Object



19
20
21
# File 'lib/xi/logger.rb', line 19

def debug(*args)
  logger.debug(args.map(&:to_s).join(' '.freeze))
end

#error(error) ⇒ Object



23
24
25
26
# File 'lib/xi/logger.rb', line 23

def error(error)
  logger.error("#{error}:\n#{error.backtrace.join("\n".freeze)}")
  ErrorLog.instance << error.to_s
end

#loggerObject



9
10
11
12
13
14
15
16
17
# File 'lib/xi/logger.rb', line 9

def logger
  @@logger ||= begin
    logger = ::Logger.new(LOG_FILE)
    logger.formatter = proc do |severity, datetime, progname, msg|
      "[#{datetime.strftime("%F %T %L")}] #{msg}\n"
    end
    logger
  end
end