class Sapience::Extensions::Grape::Middleware::Logging
Public Class Methods
new(app, options = {})
click to toggle source
Calls superclass method
# File lib/sapience/extensions/grape/middleware/logging.rb, line 19 def initialize(app, options = {}) super @logger = @options[:logger] end
Protected Instance Methods
after()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 53 def after stop_time @logger.info(parameters) end
after_exception(exc)
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 58 def after_exception(exc) # rubocop:disable Lint/UnusedMethodArgument @status = 500 after end
after_failure(error)
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 63 def after_failure(error) @status = error[:status] after end
before()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 48 def before reset_db_runtime start_time end
call!(env)
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 26 def call!(env) @env = env before error = catch(:error) do begin @app_response = @app.call(@env) rescue StandardError => e after_exception(e) raise e end nil end if error after_failure(error) throw(:error, error) else @status, = *@app_response after end @app_response end
parameters()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 68 def parameters # rubocop:disable AbcSize { method: request.request_method, request_path: request.path, format: request_format(request.env), status: @status, class_name: env["api.endpoint"].options[:for].to_s, action: "index", host: request.host, ip: (request.env["HTTP_X_FORWARDED_FOR"] || request.env["REMOTE_ADDR"]), ua: request.env["HTTP_USER_AGENT"], # route: "test_controller#index", # message: "Completed #index", tags: Sapience.tags, params: request.params, runtimes: { total: total_runtime, view: view_runtime, db: db_runtime, }, } end
Private Instance Methods
db_runtime()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 105 def db_runtime Grape::Timings.db_runtime.round(3) end
request()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 93 def request @request ||= ::Rack::Request.new(env) end
reset_db_runtime()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 109 def reset_db_runtime Grape::Timings.reset_db_runtime end
start_time()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 113 def start_time @start_time ||= Time.now end
stop_time()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 117 def stop_time @stop_time ||= Time.now end
total_runtime()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 97 def total_runtime ((stop_time - start_time) * 1000).round(3) end
view_runtime()
click to toggle source
# File lib/sapience/extensions/grape/middleware/logging.rb, line 101 def view_runtime total_runtime - db_runtime end