class ElkLogger
Constants
- SEV_LABEL
- SUPER_VERSION
- VERSION
Attributes
calling_cname[R]
calling_mname[R]
filename[R]
Public Class Methods
new(logdev, shift_age = 0, shift_size = 1048576)
click to toggle source
Calls superclass method
# File lib/elklogger.rb, line 67 def initialize(logdev, shift_age = 0, shift_size = 1048576) @calling_mname = nil # calling method name @calling_cname = nil # calling class name @filename = logdev super(logdev, shift_age, shift_size) end
Public Instance Methods
format_message(severity, datetime, progname, msg)
click to toggle source
# File lib/elklogger.rb, line 75 def format_message(severity, datetime, progname, msg) { :body => msg.to_s, :head => { :app => appname, :level => severity, :counter => counter_number, :tname => thread_name || filename.to_s.split('/').last.to_s.gsub(/\.log\.elk$/, ''), :pid => ruby_pid, :mname => calling_mname, :cname => calling_cname, :ip => ipv4_address.to_s }, :timestamp => datetime.to_datetime.strftime("%Q").to_i }.to_json + "\n" end
Private Instance Methods
add(severity, message = nil, progname = nil, &block)
click to toggle source
Calls superclass method
# File lib/elklogger.rb, line 96 def add(severity, message = nil, progname = nil, &block) caller_info = caller_locations(2, 1).first @calling_mname = caller_info.try(:label).to_s @calling_cname = caller_info.try(:path).to_s if defined?(Rails) && !@calling_cname.empty? @calling_cname = Pathname.new(@calling_cname).relative_path_from(Rails.root) rescue @calling_cname end @calling_cname = @calling_cname.to_s + ":#{caller_info.try(:lineno).to_s}" super(severity, message, progname, &block) end