Class: Kafo::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/kafo/logger.rb

Constant Summary collapse

PATTERN =
"[%5l %d %c] %m\n"
COLOR_LAYOUT =
Logging::Layouts::Pattern.new(:pattern => PATTERN, :color_scheme => 'bright')
NOCOLOR_LAYOUT =
Logging::Layouts::Pattern.new(:pattern => PATTERN, :color_scheme => nil)

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggersObject

Returns the value of attribute loggers.



8
9
10
# File 'lib/kafo/logger.rb', line 8

def loggers
  @loggers
end

Class Method Details

.setupObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/kafo/logger.rb', line 28

def self.setup
  begin
    FileUtils.mkdir_p(KafoConfigure.config.app[:log_dir], :mode => 0750)
  rescue Errno::EACCES => e
    puts "No permissions to create log dir #{KafoConfigure.config.app[:log_dir]}"
  end

  logger   = Logging.logger['main']
  filename = "#{KafoConfigure.config.app[:log_dir]}/#{KafoConfigure.config.app[:log_name] || 'configure.log'}"
  begin
    logger.appenders = ::Logging.appenders.rolling_file('configure',
                                                        :filename => filename,
                                                        :layout   => NOCOLOR_LAYOUT,
                                                        :truncate => true
    )
    # set owner and group (it's ignored if attribute is nil)
    FileUtils.chown KafoConfigure.config.app[:log_owner], KafoConfigure.config.app[:log_group], filename
  rescue ArgumentError => e
    puts "File #{filename} not writeable, won't log anything to file!"
  end

  logger.level = KafoConfigure.config.app[:log_level]
  self.loggers = [logger]
end

.setup_verboseObject



53
54
55
56
57
58
59
# File 'lib/kafo/logger.rb', line 53

def self.setup_verbose
  logger           = Logging.logger['verbose']
  logger.level     = KafoConfigure.config.app[:verbose_log_level]
  layout           = KafoConfigure.config.app[:colors] ? COLOR_LAYOUT : NOCOLOR_LAYOUT
  logger.appenders = [::Logging.appenders.stdout(:layout => layout)]
  self.loggers<< logger
end