class Announcer::Plugins::LoggingPlugin
Public Instance Methods
logger()
click to toggle source
# File lib/announcer/plugins/logging_plugin.rb, line 8 def logger @_logger ||= _load_logger end
Private Instance Methods
_load_level()
click to toggle source
# File lib/announcer/plugins/logging_plugin.rb, line 35 def _load_level case config.level when :info, nil Logger::INFO when :warn Logger::WARN when :error Logger::ERROR when :fatal Logger::FATAL else raise Errors::PluginError, "Invalid plugins.logging.level: #{config.level.inspect}" end end
_load_logger()
click to toggle source
# File lib/announcer/plugins/logging_plugin.rb, line 25 def _load_logger if config.logger? config.logger else Logger.new(STDOUT).tap { |logger| logger.level = _load_level } end end
_run(subject, object, &block)
click to toggle source
# File lib/announcer/plugins/logging_plugin.rb, line 50 def _run(subject, object, &block) logger.debug("#{subject}: #{object}") if config.log_exceptions? begin block.call rescue Exception => e logger.fatal("Exception raised when #{subject.downcase} #{object}: #{e.inspect}") raise end else block.call end logger.debug("Finished #{subject}: #{object}") end