module SemanticLogger::Levels
Constants
- LEVELS
Logging levels in order of most detailed to most severe
Public Class Methods
index(level)
click to toggle source
Internal method to return the log level as an internal index Also supports mapping the ::Logger levels to SemanticLogger
levels
# File lib/semantic_logger/levels.rb, line 8 def self.index(level) return if level.nil? index = if level.is_a?(Symbol) LEVELS.index(level) elsif level.is_a?(String) level = level.downcase.to_sym LEVELS.index(level) elsif level.is_a?(Integer) && defined?(::Logger::Severity) # Mapping of Rails and Ruby Logger levels to SemanticLogger levels @map_levels ||= begin levels = [] ::Logger::Severity.constants.each do |constant| levels[::Logger::Severity.const_get(constant)] = LEVELS.find_index(constant.downcase.to_sym) || LEVELS.find_index(:error) end levels end @map_levels[level] end raise "Invalid level:#{level.inspect} being requested. Must be one of #{LEVELS.inspect}" unless index index end
level(level_index)
click to toggle source
Returns the symbolic level for the supplied level index
# File lib/semantic_logger/levels.rb, line 36 def self.level(level_index) LEVELS[level_index] end