class Lenjador
Constants
- SEV_LABEL
- Severity
Public Class Methods
build(service_name, logger_config, preprocessors_config = {})
click to toggle source
# File lib/lenjador.rb, line 13 def self.build(service_name, logger_config, preprocessors_config = {}) logger_config ||= {} preprocessors = preprocessors_config.map do |type, arguments| Preprocessors.get(type.to_s, arguments || {}) end adapter = Adapters.get(service_name, logger_config) level = SEV_LABEL.index(logger_config.fetch(:level, 'debug')) new(adapter, level, preprocessors) end
new(adapter, level, preprocessors)
click to toggle source
# File lib/lenjador.rb, line 25 def initialize(adapter, level, preprocessors) @adapter = adapter @level = level @preprocessors = preprocessors end
Public Instance Methods
debug(*args, &block)
click to toggle source
# File lib/lenjador.rb, line 31 def debug(*args, &block) log(Severity::DEBUG, *args, &block) end
debug?()
click to toggle source
# File lib/lenjador.rb, line 51 def debug?; @level <= Severity::DEBUG; end
error(*args, &block)
click to toggle source
# File lib/lenjador.rb, line 43 def error(*args, &block) log(Severity::ERROR, *args, &block) end
error?()
click to toggle source
# File lib/lenjador.rb, line 57 def error?; @level <= Severity::ERROR; end
fatal(*args, &block)
click to toggle source
# File lib/lenjador.rb, line 47 def fatal(*args, &block) log(Severity::FATAL, *args, &block) end
fatal?()
click to toggle source
# File lib/lenjador.rb, line 59 def fatal?; @level <= Severity::FATAL; end
info(*args, &block)
click to toggle source
# File lib/lenjador.rb, line 35 def info(*args, &block) log(Severity::INFO, *args, &block) end
info?()
click to toggle source
# File lib/lenjador.rb, line 53 def info?; @level <= Severity::INFO; end
level=(new_level)
click to toggle source
# File lib/lenjador.rb, line 61 def level=(new_level) raise ArgumentError, "invalid log level: #{new_level}" unless new_level.is_a?(Integer) @level = new_level end
warn(*args, &block)
click to toggle source
# File lib/lenjador.rb, line 39 def warn(*args, &block) log(Severity::WARN, *args, &block) end
warn?()
click to toggle source
# File lib/lenjador.rb, line 55 def warn?; @level <= Severity::WARN; end
Private Instance Methods
log(level, *args, &block)
click to toggle source
# File lib/lenjador.rb, line 69 def log(level, *args, &block) return true if level < @level data = parse_log_data(*args, &block) processed_data = preprocess(data) @adapter.log(level, processed_data) end
parse_log_data(message = nil, metadata = {}) { |: message)| ... }
click to toggle source
# File lib/lenjador.rb, line 84 def parse_log_data(message = nil, metadata = {}, &block) return message if message.is_a?(Hash) (metadata || {}).merge(message: block ? yield : message) end
preprocess(data)
click to toggle source
# File lib/lenjador.rb, line 78 def preprocess(data) @preprocessors.inject(data) do |data_to_process, preprocessor| preprocessor.process(data_to_process) end end