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