class Lograge::LogSubscribers::Base
Public Instance Methods
logger()
click to toggle source
Calls superclass method
# File lib/lograge/log_subscribers/base.rb, line 10 def logger Lograge.logger.presence || super end
Private Instance Methods
before_format(data, payload)
click to toggle source
# File lib/lograge/log_subscribers/base.rb, line 65 def before_format(data, payload) Lograge.before_format(data, payload) end
custom_options(event)
click to toggle source
# File lib/lograge/log_subscribers/base.rb, line 60 def custom_options(event) options = Lograge.custom_options(event) || {} options.merge event.payload[:custom_payload] || {} end
default_status()
click to toggle source
# File lib/lograge/log_subscribers/base.rb, line 51 def default_status 0 end
extract_request(event, payload)
click to toggle source
# File lib/lograge/log_subscribers/base.rb, line 26 def extract_request(event, payload) data = initial_data(payload) data.merge!(extract_status(payload)) data.merge!(extract_runtimes(event, payload)) data.merge!(extract_location) data.merge!(extract_unpermitted_params) data.merge!(custom_options(event)) end
extract_status(payload)
click to toggle source
# File lib/lograge/log_subscribers/base.rb, line 40 def extract_status(payload) if (status = payload[:status]) { status: status.to_i } elsif (error = payload[:exception]) exception, message = error { status: get_error_status_code(exception), error: "#{exception}: #{message}" } else { status: default_status } end end
get_error_status_code(exception)
click to toggle source
# File lib/lograge/log_subscribers/base.rb, line 55 def get_error_status_code(exception) status = ActionDispatch::ExceptionWrapper.rescue_responses[exception] Rack::Utils.status_code(status) end
process_main_event(event)
click to toggle source
# File lib/lograge/log_subscribers/base.rb, line 16 def process_main_event(event) return if Lograge.ignore?(event) payload = event.payload data = extract_request(event, payload) data = before_format(data, payload) formatted_message = Lograge.formatter.call(data) logger.send(Lograge.log_level, formatted_message) end