class LogstashScribbler::Message
Attributes
custom_fields[R]
error[R]
message[R]
object[R]
Public Class Methods
new(options)
click to toggle source
# File lib/logstash_scribbler/message.rb, line 6 def initialize(options) @error = inspected_error(options[:error]) @message = options[:message] @custom_fields = options[:custom_fields] @object = options[:object] end
Public Instance Methods
data()
click to toggle source
# File lib/logstash_scribbler/message.rb, line 17 def data log_msg = { :error => error, :message => message, } log_msg = custom_fields.merge!(log_msg) if custom_fields log_msg = namespaced_object.merge!(log_msg) if object log_msg.reject { |k, v| v.nil? } end
inspected_error(error)
click to toggle source
# File lib/logstash_scribbler/message.rb, line 33 def inspected_error(error) if error.is_a? Exception e = error error = {:message => e.message, :inspect => e.inspect, :backtrace => e.backtrace} else error end end
is_active_record?(object)
click to toggle source
# File lib/logstash_scribbler/message.rb, line 42 def is_active_record?(object) defined?(ActiveRecord::Base) && object.is_a?(ActiveRecord::Base) end
log()
click to toggle source
# File lib/logstash_scribbler/message.rb, line 13 def log LogStash::Event.new(data).to_json end
namespaced_object()
click to toggle source
# File lib/logstash_scribbler/message.rb, line 27 def namespaced_object return { :object => object } unless is_active_record?(object) object_type = object.class.name {object_type.to_sym => object} end