module PunchblockConsole::Logging

Constants

LOG_LEVELS

Public Class Methods

appenders()
Alias for: outputters
appenders=(outputters)
Alias for: outputters=
formatter() click to toggle source
# File lib/punchblock/console/logging.rb, line 102
def formatter
  ::Logging.logger.root.appenders.first.layout
end
Also aliased as: layout
formatter=(formatter) click to toggle source
# File lib/punchblock/console/logging.rb, line 96
def formatter=(formatter)
  _set_formatter formatter
end
Also aliased as: layout=
get_logger(logger_name) click to toggle source
# File lib/punchblock/console/logging.rb, line 74
def get_logger(logger_name)
  ::Logging::Logger[logger_name]
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/punchblock/console/logging.rb, line 70
def logging_level
  ::Logging::Logger[:root].level
end
Also aliased as: level
logging_level=(new_logging_level) click to toggle source
# File lib/punchblock/console/logging.rb, line 64
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/punchblock/console/logging.rb, line 90
def outputters
  ::Logging.logger.root.appenders
end
Also aliased as: appenders
outputters=(outputters) click to toggle source
# File lib/punchblock/console/logging.rb, line 84
def outputters=(outputters)
  ::Logging.logger.root.appenders = Array(outputters)
end
Also aliased as: appenders=
reset() click to toggle source
# File lib/punchblock/console/logging.rb, line 40
def reset
  ::Logging.reset
end
sanitized_logger_name(name) click to toggle source
# File lib/punchblock/console/logging.rb, line 80
def sanitized_logger_name(name)
  name.to_s.gsub(/\W/, '').downcase
end
silence!() click to toggle source
# File lib/punchblock/console/logging.rb, line 32
def silence!
  self.logging_level = :fatal
end
start(log_file = nil) click to toggle source
# File lib/punchblock/console/logging.rb, line 44
def start(log_file = nil)
  opts = {
            :layout => ::Logging.layouts.pattern(
              :pattern => '[%d] %-5l %c: %m\n',
              :color_scheme => 'bright'
            )
          }
  self.outputters = if log_file
    ::Logging.appenders.file log_file, opts
  else
    ::Logging.appenders.stdout 'stdout', opts
  end

  ::Logging.init LOG_LEVELS

  LOG_LEVELS.each do |level|
    PunchblockConsole::Logging.const_defined?(level) or PunchblockConsole::Logging.const_set(level, ::Logging::LEVELS[::Logging.levelify(level)])
  end
end
unsilence!() click to toggle source
# File lib/punchblock/console/logging.rb, line 36
def unsilence!
  self.logging_level = :info
end

Private Class Methods

_set_formatter(formatter) click to toggle source
# File lib/punchblock/console/logging.rb, line 110
def _set_formatter(formatter)
  ::Logging.logger.root.appenders.each do |appender|
    appender.layout = formatter
  end
end