Class: EasyLog4r::Logger

Inherits:
Object
  • Object
show all
Includes:
Log4r
Defined in:
lib/easy_log4r/logger.rb

Class Method Summary collapse

Class Method Details

.add_logger(base, logger) ⇒ Object



5
6
7
8
9
# File 'lib/easy_log4r/logger.rb', line 5

def self.add_logger(base, logger)
  base.class_variable_set(:@@log4r, logger)
  base.instance_eval{ def log4r; class_variable_get(:@@log4r); end }
  base.class_eval{ def log4r; class_variable_get(:@@log4r); end }
end

.default_logger(name) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/easy_log4r/logger.rb', line 11

def self.default_logger(name)
  logger = null_logger(name)
  formatter = Log4r::PatternFormatter.new(:pattern => "[%l] %d %c :: %m")
  logger.outputters = [Log4r::StdoutOutputter.new(:formatter => formatter),
                       Log4r::StderrOutputter.new(:formatter => formatter)]
  return logger
end

.get_logger(base, null = false) ⇒ Object



26
27
28
29
30
# File 'lib/easy_log4r/logger.rb', line 26

def self.get_logger(base, null=false)
  clas = base.to_s
  logger = null ? null_logger(clas) : Log4r::Logger[clas]
  return logger || default_logger(clas)
end

.null_logger(name) ⇒ Object



19
20
21
22
23
24
# File 'lib/easy_log4r/logger.rb', line 19

def self.null_logger(name)
  logger = Log4r::Logger.new(name)
  logger.outputters = []

  return logger
end