Class: BmcDaemonLib::LoggerPool

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/bmc-daemon-lib/logger_pool.rb

Constant Summary collapse

LOG_ROTATION =
"daily"

Instance Method Summary collapse

Instance Method Details

#create(pipe) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/bmc-daemon-lib/logger_pool.rb', line 19

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

  # Create the logger and return it
  logger = 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

#get(pipe = nil) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/bmc-daemon-lib/logger_pool.rb', line 10

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