module Adhearsion::Logging

Constants

LOG_LEVELS

Public Class Methods

adhearsion_pattern_options() click to toggle source
# File lib/adhearsion/logging.rb, line 37
def adhearsion_pattern_options
  {
    :pattern      => '[%d] %-5l %c: %m\n',
    :date_pattern => '%Y-%m-%d %H:%M:%S.%L'
  }
end
appenders()
Alias for: outputters
appenders=(outputters)
Alias for: outputters=
default_appenders() click to toggle source
# File lib/adhearsion/logging.rb, line 89
def default_appenders
  [::Logging.appenders.stdout(
     'stdout',
     :layout => ::Logging.layouts.pattern(
       adhearsion_pattern_options.merge(
         :color_scheme => 'bright'
       )
     ),
     :auto_flushing => 2,
     :flush_period => 2
   )]
end
formatter() click to toggle source
# File lib/adhearsion/logging.rb, line 142
def formatter
  ::Logging.logger.root.appenders.first.layout
end
Also aliased as: layout
formatter=(formatter) click to toggle source
# File lib/adhearsion/logging.rb, line 134
def formatter=(formatter)
  ::Logging.logger.root.appenders.each do |appender|
    appender.layout = formatter
  end
end
Also aliased as: layout=
get_logger(logger_name) click to toggle source
# File lib/adhearsion/logging.rb, line 112
def get_logger(logger_name)
  ::Logging::Logger[logger_name]
end
init() click to toggle source
# File lib/adhearsion/logging.rb, line 73
def init
  ::Logging.init LOG_LEVELS

  LOG_LEVELS.each do |level|
    Adhearsion::Logging.const_defined?(level) or Adhearsion::Logging.const_set(level, ::Logging::LEVELS[::Logging.levelify(level)])
  end
end
layout()
Alias for: formatter
layout=(formatter)
Alias for: formatter=
level()
Alias for: logging_level
level=(new_logging_level)
Alias for: logging_level=
logging_level() click to toggle source
# File lib/adhearsion/logging.rb, line 108
def logging_level
  ::Logging.logger.root.level
end
Also aliased as: level
logging_level=(new_logging_level) click to toggle source
# File lib/adhearsion/logging.rb, line 102
def logging_level=(new_logging_level)
  ::Logging.logger.root.level = new_logging_level
end
Also aliased as: level=
outputters() click to toggle source
# File lib/adhearsion/logging.rb, line 128
def outputters
  ::Logging.logger.root.appenders
end
Also aliased as: appenders
outputters=(outputters) click to toggle source
# File lib/adhearsion/logging.rb, line 122
def outputters=(outputters)
  ::Logging.logger.root.appenders = outputters
end
Also aliased as: appenders=
reopen_logs() click to toggle source

Close logfiles and reopen them. Useful for log rotation.

# File lib/adhearsion/logging.rb, line 67
def reopen_logs
  logger.info "Closing logfiles."
  ::Logging.reopen
  logger.info "Logfiles reopened."
end
sanitized_logger_name(name) click to toggle source
# File lib/adhearsion/logging.rb, line 118
def sanitized_logger_name(name)
  name.to_s.gsub(/\W/, '').downcase
end
silence!() click to toggle source

Silence Adhearsion's logging, printing only FATAL messages

# File lib/adhearsion/logging.rb, line 45
def silence!
  self.logging_level = :fatal
end
start(_appenders = nil, level = :info, formatter = nil) click to toggle source
# File lib/adhearsion/logging.rb, line 81
def start(_appenders = nil, level = :info, formatter = nil)
  ::Logging.logger.root.appenders = _appenders.nil? ? default_appenders : _appenders

  ::Logging.logger.root.level = level

  self.formatter = formatter if formatter
end
toggle_trace!() click to toggle source

Toggle between the configured log level and :trace Useful for debugging a live Adhearsion instance

# File lib/adhearsion/logging.rb, line 56
def toggle_trace!
  if level == ::Logging.level_num(Adhearsion.config.platform.logging['level'])
    logger.warn "Turning TRACE logging ON."
    self.level = :trace
  else
    logger.warn "Turning TRACE logging OFF."
    self.level = Adhearsion.config.platform.logging['level']
  end
end
unsilence!() click to toggle source

Restore the default configured logging level

# File lib/adhearsion/logging.rb, line 50
def unsilence!
  self.logging_level = Adhearsion.config.platform.logging['level']
end