class LoggerJson::Model
Attributes
json[RW]
Public Class Methods
new(message, type)
click to toggle source
# File lib/logger_json/model.rb, line 5 def initialize(message, type) @type = type @json = convert_to_json message end
Private Instance Methods
add_array_in_log(msg)
click to toggle source
# File lib/logger_json/model.rb, line 28 def add_array_in_log(msg) logs = log msg[0] msg[1].select.with_index {|val, index| logs[index] = val} logs.to_json end
add_in_log(msg)
click to toggle source
# File lib/logger_json/model.rb, line 47 def add_in_log(msg) logs = log msg[0] logs[:log] = msg[1] logs.to_json end
convert_to_json(msg)
click to toggle source
# File lib/logger_json/model.rb, line 12 def convert_to_json(msg) return log(msg[0]).to_json if msg[1].nil? return (log(msg[0]).merge(msg[1])).to_json if msg[1].is_a? Hash add_in_log msg end
file_code()
click to toggle source
# File lib/logger_json/model.rb, line 53 def file_code caller.each do |line| return line if line.start_with?(LoggerJson::Text::ROOT_FOLDER) end end
host()
click to toggle source
# File lib/logger_json/model.rb, line 59 def host Socket.ip_address_list.detect{|intf| intf.ipv4_private?} end
log(message)
click to toggle source
# File lib/logger_json/model.rb, line 18 def log(message) { date: DateTime.now.iso8601(9), level: @type, thread_id: Thread.current.object_id, log_message: message, file: file_code }.merge(request_data) end
request_data()
click to toggle source
# File lib/logger_json/model.rb, line 34 def request_data return { source_ip: host.ip_address } if @_request.nil? _env = @_request.env { method: _env['REQUEST_METHOD'], user_agent: _env['HTTP_USER_AGENT'], source_ip: _env['REMOTE_ADDR'], request: _env['PATH_INFO'], protocol: _env['SERVER_PROTOCOL'], query_string: _env['QUERY_STRING'] } end