module SplunkLogger::Client::Log
Methods to log events to Splunk
Public Instance Methods
debug(message)
click to toggle source
Log
event as debug
Example:
SplunkLogger.debug("hello world")
# File lib/splunk_logger/client/log.rb, line 19 def debug(message) queue_or_send_message('debug', message) end
error(message)
click to toggle source
Log
event as error
Example:
SplunkLogger.error("hello world")
# File lib/splunk_logger/client/log.rb, line 43 def error(message) queue_or_send_message('error', message) end
info(message)
click to toggle source
Log
event as info
Example:
SplunkLogger.info("hello world")
# File lib/splunk_logger/client/log.rb, line 27 def info(message) queue_or_send_message('info', message) end
log(message)
click to toggle source
Log
event with default level
Example:
SplunkLogger.log("hello world")
# File lib/splunk_logger/client/log.rb, line 11 def log(message) queue_or_send_message(@default_level, message) end
warn(message)
click to toggle source
Log
event as warning
Example:
SplunkLogger.warn("hello world")
# File lib/splunk_logger/client/log.rb, line 35 def warn(message) queue_or_send_message('warn', message) end
Private Instance Methods
queue_or_send_message(level, message)
click to toggle source
# File lib/splunk_logger/client/log.rb, line 48 def queue_or_send_message(level, message) if delayed? @message_queue << {severity: level, message: message} @message_queue.shift if @message_queue.length > @max_queue_size + @max_batch_size trigger_send_log if @message_queue.length >= @max_batch_size && @current_message_size == 0 return true else send_log_now({severity: level, message: message}) end end
trigger_send_log()
click to toggle source
# File lib/splunk_logger/client/log.rb, line 59 def trigger_send_log return if @semaphore.locked? Thread.new do @semaphore.synchronize do send_log end end end