module CloudWatchLogger::Client::InstanceMethods
Public Instance Methods
default_log_stream_name()
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 84 def default_log_stream_name uuid = UUID.new @log_stream_name ||= "#{Socket.gethostname}-#{uuid.generate}" end
epoch_from(datetime)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 89 def epoch_from(datetime) (datetime.utc.to_f.round(3) * 1000).to_i end
formatter(format=nil)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 36 def formatter(format=nil) proc do |severity, datetime, progname, msg| processid = Process.pid if format == :json && msg.is_a?(Hash) message = MultiJson.dump(msg.merge(severity: severity, datetime: datetime, progname: progname, pid: processid)) else message = "#{datetime} " message << massage_message(msg, severity, processid) end { message: message, epoch_time: epoch_from(datetime) } end end
masher(hash, prefix = nil)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 21 def masher(hash, prefix = nil) hash.map do |v| if v[1].is_a?(Hash) masher(v[1], masherize_key(prefix, v[0])) else "#{masherize_key(prefix, v[0])}=" << case v[1] when Symbol v[1].to_s else v[1].inspect end end end.join(', ') end
masherize_key(prefix, key)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 17 def masherize_key(prefix, key) [prefix, key.to_s].compact.join('.') end
massage_message(incoming_message, severity, processid)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 56 def massage_message(incoming_message, severity, processid) outgoing_message = '' outgoing_message << "pid=#{processid}, thread=#{Thread.current.object_id}, severity=#{severity}, " outgoing_message << case incoming_message when Hash masher(incoming_message) when String incoming_message else incoming_message.inspect end outgoing_message end
setup_credentials(credentials)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 72 def setup_credentials(credentials) @credentials = credentials end
setup_log_group_name(name)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 76 def setup_log_group_name(name) @log_group_name = name end
setup_log_stream_name(name)
click to toggle source
# File lib/cloudwatchlogger/client.rb, line 80 def setup_log_stream_name(name) @log_stream_name = name || default_log_stream_name end