Module: PaulBunyan::Level
- Defined in:
- lib/paul_bunyan/level.rb
Constant Summary collapse
- LEVEL_MAP =
{ DEBUG: Logger::DEBUG, INFO: Logger::INFO, WARN: Logger::WARN, ERROR: Logger::ERROR, FATAL: Logger::FATAL, UNKNOWN: Logger::UNKNOWN }.freeze
- LOGGING_LEVEL_KEYS =
LEVEL_MAP.keys.freeze
- LOGGING_LEVELS =
(Logger::DEBUG..Logger::UNKNOWN).freeze
Class Method Summary collapse
Class Method Details
.coerce_level(level) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/paul_bunyan/level.rb', line 14 def self.coerce_level(level) coerced_level = level || Logger::DEBUG if level =~ /\A\s*\d+\s*\z/ coerced_level = level.to_i elsif level.is_a?(String) || level.is_a?(Symbol) coerced_level = LEVEL_MAP[level.upcase.to_sym] end unless LOGGING_LEVELS.cover?(coerced_level) fail UnknownLevelError, "Unknown logging level #{level}. Please try one of: #{LOGGING_LEVEL_KEYS.join(', ')}." end coerced_level end |