class Splash::Loggers::Daemon

Daemon specific logger

Public Class Methods

new() click to toggle source

contructor, open log file @return [Splash::Loggers::Daemon]

# File lib/splash/loggers/daemon.rb, line 15
def initialize
  self.level = get_config.loggers[:level]
  @log_file = get_config.loggers[:daemon][:file]
  @stream = File::open(@log_file, 'a')
  @stream.sync = true
end

Public Instance Methods

close() click to toggle source

close log file descriptor

# File lib/splash/loggers/daemon.rb, line 42
def close
  @stream.close
end
log(options) click to toggle source

log wrapper @param [Hash] options @option options [Symbol] :level defined in Splash::Loggers::LEVEL or Splash::Loggers::ALIAS @option options [String] :message @option options [String] :session a session number write formatted string to log file

# File lib/splash/loggers/daemon.rb, line 28
def log(options)
  pid = Process.pid.to_s
  date = DateTime.now.to_s
  level = (ALIAS.keys.include? options[:level])?  ALIAS[options[:level]] : options[:level]
  if @active_levels.include? level then
    unless options[:session].empty? then
      @stream.puts "[#{date}] (#{pid}) (#{options[:session]}) #{alt(options[:level])} : #{options[:message]}"
    else
      @stream.puts "[#{date}] (#{pid}) #{alt(options[:level])} : #{options[:message]}"
    end
  end
end