我创建了一个调用第三方api的Bundle。
现在我想在Symfony Profiler中显示收到的数据。
我创建了一个CustomDataCollector(http://symfony.com/doc/current/profiler/data_collector.html)。一切正常。但是我如何获得或“保存”收到的api响应?
我创建了一个服务,用curl调用api:
$raw_response = curl_exec($ch);
$response = json_decode($raw_response);
if (property_exists($response, 'error') && $response->errors) {
return ['status'=>false, 'msg'=> (string)$response->errors[0]->description ] ;
} else {
return ['status'=>true, 'msg' =>'Send Successfully' ];
}
答案 0 :(得分:4)
我建议您将logger
服务用于不需要特定收集器的简单用例。您可以为日志记录提供其他上下文:
/** LoggerInterface */
$container->get('logger')->error('There was an error on the API call.', array(
'description' => $response->errors[0]->description
);
默认情况下,logger
数据会保存到配置文件中。对于更高级的用例,您可能正在寻找处理器:http://symfony.com/doc/current/logging/processors.html