Sha256: 5ba277cfd1d799b1b988038ace97b036c073c462aa4788907caf3e82724ce25d
Contents?: true
Size: 845 Bytes
Versions: 6
Compression:
Stored size: 845 Bytes
Contents
# ai_client/logger_middleware.rb class AiClient # logger = Logger.new(STDOUT) # # AiClient.use( # AiClient::LoggingMiddleware.new(logger) # ) # # Or, if you want to use the same logger as the AiClient: # AiClient.use( # AiClient::LoggingMiddleware.new( # AiClient.configuration.logger # ) # ) class LoggingMiddleware def initialize(logger) @logger = logger end def call(client, next_middleware, *args) method_name = args.first.is_a?(Symbol) ? args.first : 'unknown method' @logger.info("Starting #{method_name} call") start_time = Time.now result = next_middleware.call(*args) end_time = Time.now duration = end_time - start_time @logger.info("Finished #{method_name} call (took #{duration.round(3)} seconds)") result end end end
Version data entries
6 entries across 6 versions & 1 rubygems