class GoodData::SplunkLoggerDecorator
Logger that process given message to format readable by splunk
Public Class Methods
Source
# File lib/gooddata/core/splunk_logger_decorator.rb, line 10 def initialize(logger = Logger) @logger = logger end
Public Instance Methods
Source
# File lib/gooddata/core/splunk_logger_decorator.rb, line 21 def add(severity, message = nil, progname = nil) message = hash_to_string(message) if message.is_a? Hash progname = hash_to_string(progname) if progname.is_a? Hash @logger.add(severity, message, progname) unless (progname && progname.chomp == '') || (message && message.chomp == '') end
If the given message or progname is an instance of Hash, it’s reformatted to splunk readable format. In case that the message or the progname contain new line character log won’t be printed out. Otherwise splunk worker wouldn’t process it correctly.
Source
# File lib/gooddata/core/splunk_logger_decorator.rb, line 14 def hash_to_string(hash) hash.map { |pair| " #{pair[0]}=#{pair[1]}" }.join "" end