class StructuredEventLogger::HumanReadableLogger
Constants
- BOLD
- CLEAR
- CYAN
- MAGENTA
Colors
- WHITE
Attributes
colorize[RW]
log_level[RW]
logger[RW]
Public Class Methods
new(logger, colorize = ActiveSupport::LogSubscriber.colorize_logging, log_level = nil)
click to toggle source
# File lib/structured_event_logger/human_readable_logger.rb, line 15 def initialize(logger, colorize = ActiveSupport::LogSubscriber.colorize_logging, log_level = nil) @logger, @colorize, @log_level = logger, colorize, log_level end
Public Instance Methods
call(scope, event, hash, decorated_hash)
click to toggle source
# File lib/structured_event_logger/human_readable_logger.rb, line 20 def call(scope, event, hash, decorated_hash) logger.add(log_level, format_hash(scope, event, hash)) end
Private Instance Methods
escape(value)
click to toggle source
# File lib/structured_event_logger/human_readable_logger.rb, line 36 def escape(value) output = value.to_s output =~ /[\s"\\]/ ? output.inspect : output end
format_hash(scope, event, hash, separator = ', ')
click to toggle source
# File lib/structured_event_logger/human_readable_logger.rb, line 26 def format_hash(scope, event, hash, separator = ', ') @odd = !@odd message = hash.map {|k, v| "#{k}=#{escape(v)}"}.join(separator) if @colorize " #{@odd ? CYAN : MAGENTA}#{BOLD}[#{scope}] #{event}: #{WHITE}#{message}#{CLEAR}" else " [#{scope}] #{event}: #{message}" end end