module Tracer::Client
Public Class Methods
end_request()
click to toggle source
# File lib/tracer_client/client.rb, line 15 def end_request Thread.current[:tracer_current_user] = nil Thread.current[:tracer_request] = nil Thread.current[:tracer_params] = nil end
log(notice)
click to toggle source
# File lib/tracer_client/client.rb, line 22 def log(notice) data = notice.merge(request_log_data) Thread.new do Tracer::Server.log(data) end end
log_changes(changes)
click to toggle source
# File lib/tracer_client/client.rb, line 30 def log_changes(changes) data = changes.merge(request_changes_data) Thread.new do Tracer::Server.log_changes(data) end end
start_request(current_user, request, params, session)
click to toggle source
# File lib/tracer_client/client.rb, line 8 def start_request(current_user, request, params, session) Thread.current[:tracer_current_user] = current_user Thread.current[:tracer_request] = request Thread.current[:tracer_params] = get_params(params) end
Private Class Methods
get_params(params)
click to toggle source
# File lib/tracer_client/client.rb, line 41 def get_params(params) @parameter_filter ||= ActionDispatch::Http::ParameterFilter.new Rails.application.config.filter_parameters @parameter_filter.filter(params.except(:utf8, :authenticity_token, :_method)).to_unsafe_hash end
request_changes_data()
click to toggle source
# File lib/tracer_client/client.rb, line 103 def request_changes_data request_data end
request_data()
click to toggle source
# File lib/tracer_client/client.rb, line 47 def request_data data = {context: {}} request = Thread.current[:tracer_request] if request data[:context].merge!( url: request.original_url, referer: request.headers['Referer'], user_agent: request.headers['User-Agent'], ip: request.remote_ip, method: request.request_method, request_id: request.uuid, headers: { accept: request.headers['Accept'], } ) end cookies = Thread.current[:cookies] if cookies && cookies[:administrator_id] data[:context][:cookies] = { administrator_id: cookies.signed[:administrator_id] } end current_user = Thread.current[:tracer_current_user] if current_user data[:context].merge!( userType: current_user[:type], userId: current_user[:id], ) end params = Thread.current[:tracer_params] if params data[:context].merge!( component: params[:controller], action: params[:action], ) data[:params] = params.except(:controller, :action) end data[:context].merge!( environment: Rails.env, rootDirectory: Rails.root, ) data end
request_log_data()
click to toggle source
# File lib/tracer_client/client.rb, line 98 def request_log_data request_data end