Sha256: 25d12b383cd43bded98bfbcfb92bed35b0d4ca7be7c8cdcbeffbf7b53af0d0d4
Contents?: true
Size: 847 Bytes
Versions: 3
Compression:
Stored size: 847 Bytes
Contents
# frozen_string_literal: false require "logger" require_relative "../data_filters/log_data_filter" ## # This Aspect is responsible for logging # the input and output of every endpoint called # in the framework. module LoggingAspect def call_endpoint(logger, *args) endpoint_name = args[1].split(".")[1..].join("/") logger.info(LogDataFilter.sanitize_for_logging( "Request received for #{endpoint_name} with arguments: #{args[2..]}" )) begin response = super(*args) logger.info(LogDataFilter.sanitize_for_logging("Response for #{endpoint_name}: #{response}")) rescue StandardError => e logger.error( LogDataFilter.sanitize_for_logging("Error processing #{endpoint_name}: #{e.message}\n#{e.backtrace.join("\n")}") ) raise e end response end end
Version data entries
3 entries across 3 versions & 1 rubygems