我正在使用thrift_client 0.8.1 library。并且它支持一些钩子接口。
client = ThriftClient.new(FooService, host)
client.add_callback :before_method do |*args|
ActionController::Base.logger.info instance_eval("@current_server")
logger.info args.inspect
end
client.add_callback :post_connect do |client|
logger.info "A thrift server connection has been made<#{client.current_server}>"
end
每次调用一个方法,我都想记录一下thrift server的信息。所以我安装了一个:before method
钩子,但我认为instance_eval("@current_server")
它不像我预期的那样工作。@current_server
是类中的一个实例变量ThriftClient
。问题是什么?