Sha256: 283628c5f2ed82247624dee39e15db393eae3783e7fd383b3f7f894a3d3b05d0
Contents?: true
Size: 1.21 KB
Versions: 11
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true require 'grpc_kit' class LoggingInterceptor < GRPC::ServerInterceptor def request_response(request: nil, call: nil, method: nil) now = Time.now.to_i GrpcKit.logger.info("Started request #{request}, method=#{method.name}, service_name=#{method.receiver.class.service_name}") yield(request, call).tap do GrpcKit.logger.info("Elapsed Time: #{Time.now.to_i - now}") end end def client_streamer(call: nil, method: nil) GrpcKit.logger.info("Started request method=#{method.name}, service_name=#{method.receiver.class.service_name}") yield(LoggingStream.new(call)) end def server_streamer(call: nil, method: nil, **) GrpcKit.logger.info("Started request method=#{method.name}, service_name=#{method.receiver.class.service_name}") yield(LoggingStream.new(call)) end def bidi_streamer(**) yield end class LoggingStream def initialize(stream) @stream = stream end def send_msg(msg, **opt) GrpcKit.logger.info("logging interceptor send #{msg}") @stream.send_msg(msg, opt) end def recv(**opt) @stream.recv(**opt).tap do |v| GrpcKit.logger.info("logging interceptor recv #{v}") end end end end
Version data entries
11 entries across 11 versions & 2 rubygems