class RailsGrpc::Interceptor::LoggingInterceptor
Public Class Methods
new(logger)
click to toggle source
# File lib/rails_grpc/interceptor/logging_interceptor.rb, line 6 def initialize(logger) @logger = logger end
Public Instance Methods
request_response(request: nil, call: nil, method: nil) { || ... }
click to toggle source
# File lib/rails_grpc/interceptor/logging_interceptor.rb, line 10 def request_response(request: nil, call: nil, method: nil) grpc_method = "#{method.owner.name}##{method.name}" logger = @logger logger.info("[GRPC] #{grpc_method}") t = Time.now begin yield rescue => e logger.error(e) logger.error(e.backtrace.join("\n")) raise e end t = Time.now - t display_duration = "%.1f ms" % (t * 1000.0) logger.info("[GRPC response] (#{display_duration}) #{grpc_method}") end