class Upfluence::Utils::Thrift::Middleware::RequestLogger
Public Class Methods
new(app, logger)
click to toggle source
# File lib/upfluence/utils/thrift/middleware/request_logger.rb, line 6 def initialize(app, logger) @app = app @logger = logger end
Public Instance Methods
method_missing(method, *args, &block)
click to toggle source
# File lib/upfluence/utils/thrift/middleware/request_logger.rb, line 11 def method_missing(method, *args, &block) args_str = args.map(&:to_s).join(',')[0..99] t0 = Time.now @logger.info( "Running method `#{method}` with args [#{args_str}]" ) result = @app.send method, *args, &block @logger.info( "Finished method `#{method}` with args [#{args_str}]. Took: #{time_since(t0)}ms" ) result rescue => e @logger.error( "Finished method `#{method}` with args [#{args_str}] failed: #{e.class}. Took: #{time_since(t0)}ms" ) raise e end
Private Instance Methods
time_since(t0)
click to toggle source
# File lib/upfluence/utils/thrift/middleware/request_logger.rb, line 35 def time_since(t0) ((Time.now - t0) * 1000).to_i end