Module: ApiLogger
- Defined in:
- lib/api_logger.rb,
lib/api_logger/railtie.rb,
lib/api_logger/version.rb,
lib/api_logger/middleware.rb,
lib/api_logger/configuration.rb,
lib/generators/api_logger/install/install_generator.rb
Overview
:nodoc:
Defined Under Namespace
Modules: Generators Classes: Configuration, Error, Middleware, Railtie
Constant Summary collapse
- VERSION =
"0.2.0"
Class Attribute Summary collapse
Class Method Summary collapse
- .config ⇒ Object
- .configure {|configuration| ... } ⇒ Object
- .log(endpoint:, http_method: nil, request_headers: nil, request_params: nil, response_body: nil, response_headers: nil, response_status: nil, error_message: nil) ⇒ Object
Class Attribute Details
.configuration ⇒ Object
14 15 16 |
# File 'lib/api_logger.rb', line 14 def configuration @configuration ||= Configuration.new end |
Class Method Details
.config ⇒ Object
22 23 24 |
# File 'lib/api_logger.rb', line 22 def config configuration end |
.configure {|configuration| ... } ⇒ Object
18 19 20 |
# File 'lib/api_logger.rb', line 18 def configure yield(configuration) end |
.log(endpoint:, http_method: nil, request_headers: nil, request_params: nil, response_body: nil, response_headers: nil, response_status: nil, error_message: nil) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/api_logger.rb', line 26 def log(endpoint:, http_method: nil, request_headers: nil, request_params: nil, response_body: nil, response_headers: nil, response_status: nil, error_message: nil) return unless configuration.enabled request_params = prepare_params(request_params) request_headers = prepare_headers(request_headers) response_body = prepare_response(response_body) response_headers = prepare_headers(response_headers) # Create the log entry klass = get_model_class klass.create( endpoint: endpoint.to_s, http_method: http_method, request_headers: request_headers, request_params: request_params, response_body: response_body, response_headers: response_headers, response_status: response_status, error_message: ) rescue StandardError => e Rails.logger.error("ApiLogger failed to log request: #{e.message}") if defined?(Rails) end |