Last active September 8, 2021 03:45
Save teamon/e8ae16ffb0cb447e5b49 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters # config/initializers/instrumentation.rb # Subscribe to grape request and log with Rails.logger ActiveSupport::Notifications.subscribe('grape.request') do |name, starts, ends, notification_id, payload| Rails.logger.info '[API] %s %s (%.3f ms) -> %s %s%s' % [ payload[:request_method], payload[:request_path], (ends-starts)*1000, (payload[:response_status] || "error"), payload[:x_organization] ? "| X-Org: #{payload[:x_organization]}" : "", payload[:params] ? "| #{payload[:params].inspect}" : "" ] end This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters # app/controllers/api/logger.rb class API::Logger def initialize(app) @app = app end def call(env) payload = { remote_addr: env['REMOTE_ADDR'], request_method: env['REQUEST_METHOD'], request_path: env['PATH_INFO'], request_query: env['QUERY_STRING'], x_organization: env['HTTP_X_ORGANIZATION'] } ActiveSupport::Notifications.instrument "grape.request", payload do @app.call(env).tap do |response| payload[:params] = env["api.endpoint"].params.to_hash payload[:params].delete("route_info") payload[:params].delete("format") payload[:response_status] = response[0] end end end endYou can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4