class Filum::Logger

Attributes

logfile[R]

Public Class Methods

new(logfile, options = {}) click to toggle source
Calls superclass method
# File lib/filum/logger.rb, line 9
def initialize(logfile, options = {})
  @timings = {}
  @logfile = logfile
  create_log_directory

  super(logfile, shift_age='daily')
  self.formatter = Filum::LogFormatter.new(options)
  self.level = Logger::INFO
end

Public Instance Methods

context_id=(context_id) click to toggle source
# File lib/filum/logger.rb, line 19
def context_id=(context_id)
  Thread.current[:context_id] = context_id
end
end_timing(label) click to toggle source
# File lib/filum/logger.rb, line 28
def end_timing(label)
  finish = Time.now
  if @timings[label]
    info("Stopped timing for #{label} at #{@timings[label]}, #{(finish.to_f - @timings[label].to_f).round(3)}")
    @timings.delete(label)
  else
    info("Stopped timing for #{label} at #{@timings[label]}, no start time found")
  end
end
start_timing(label) click to toggle source
# File lib/filum/logger.rb, line 23
def start_timing(label)
  @timings[label] = Time.now
  info("Started timing for #{label} at #{@timings[label]}")
end

Private Instance Methods

create_log_directory() click to toggle source
# File lib/filum/logger.rb, line 39
def create_log_directory
  return unless @logfile.is_a?(String)
  dir = File.dirname(@logfile)
  unless File.directory?(dir)
    FileUtils.mkdir_p(dir)
  end
end