Sha256: f13a83824a7a97d0c8071d9feb8cd65302bf048523110c081850e6b3a614b7f4

Contents?: true

Size: 912 Bytes

Versions: 2

Compression:

Stored size: 912 Bytes

Contents

require "logger"
require "singleton"

# Logger interface class to access logger though symbolic names
module BmcDaemonLib
  class LoggerPool
    include Singleton
    LOG_ROTATION            = "daily"

    def get pipe = nil
      # If not provided, use :default
      pipe = :default if pipe.to_s.empty?

      # Instantiate a logger or return the existing one
      @loggers ||= {}
      @loggers[pipe] ||= create(pipe)
    end

    def create pipe
      # Compute logfile or STDERR, and declare what we're doing
      filename = Conf.logfile(pipe)

      # Create the logger and return it
      logger = BmcDaemonLib::Logger.new(filename, LOG_ROTATION)   #, 10, 1024000)
      logger.progname = pipe.to_s.downcase

      # Finally return this logger
      # FIXME logger.datetime_format
      logger

    rescue Errno::EACCES
      $stderr.puts "LoggerPool: create [#{pipe}]: access error"
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bmc-daemon-lib-0.4.1 lib/bmc-daemon-lib/logger_pool.rb
bmc-daemon-lib-0.4.0 lib/bmc-daemon-lib/logger_pool.rb