前言:
如果你软件中使用了grpc,记住一定要设置grpc的日志输出。grpc其内部实现中一旦抛出error信息,便会导致软件段错误。而你此前调用grpc的函数可能一切都是正常的。
设置GRPC日志输出
博主平常使用的是Glog作为日志库,本次例子是将grpc的日志输出转到glog中。下面是代码片段,函数头文件应该是在grpc\impl\codegen\log.h里。
/* grpc_log转glog的回调函数 */
static void grpc_log_to_glog_fun(gpr_log_func_args *agrs)
{
if(args->severity == GRPC_LOG_SEVERITY_ERROR)
{
LOG(ERROR) << “grpc fail @file=” << agrs->file << "@line=" << agrs->line
<< "@message" << agrs->message;
}
}
static void init_log()
{
gpr_set_log_function(grpc_log_to_glog_fun)
}