Sha256: e5b25399c86d7967752d41af52df92078dcbe3ab6432f2ae479eb048eb7de532

Contents?: true

Size: 926 Bytes

Versions: 5

Compression:

Stored size: 926 Bytes

Contents

require 'factory'
require 'sys_logger'
require 'string_logger'
require 'file_logger'

class LoggerFactory 
  include Factory
  @@filename = 'logfile'
  @@program = 'unknown'

  def LoggerFactory.setup(filename, program = 'unknown')
    @@filename = filename
    @@program = program
  end

  def LoggerFactory.create(type, *params)
    filename = filename || @@filename
    program = program || @@program
    name = type.to_s
    require name.downcase + '_logger'
    class_name = name.capitalize + 'Logger'
    logger = Factory.create_object_from_string(class_name, filename, program)
    raise "Bad configuration -- no logger #{class_name}" unless logger
    logger

#    case type.to_s
#    when 'syslog'
#      SysLogger.new(program)
#    when 'string'
#      StringLogger.new
#    when 'stdout'
#      FileLogger.new(STDOUT, false)
#    when 'file'
#      FileLogger.new(File.new(filename, "a"), true)
#    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
staugaard-cloudmaster-0.1.1 lib/logger_factory.rb
staugaard-cloudmaster-0.1.2 lib/logger_factory.rb
staugaard-cloudmaster-0.1.3 lib/logger_factory.rb
staugaard-cloudmaster-0.1.4 lib/logger_factory.rb
staugaard-cloudmaster-0.1.5 lib/logger_factory.rb