class GoodData::SplunkLoggerDecorator
Logger that process given message to format readable by splunk
Public Class Methods
new(logger = Logger)
click to toggle source
# File lib/gooddata/core/splunk_logger_decorator.rb, line 10 def initialize(logger = Logger) @logger = logger end
Public Instance Methods
add(severity, message = nil, progname = nil)
click to toggle source
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.
# 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
hash_to_string(hash)
click to toggle 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