我正在使用Symfony 2.1開發一個項目。Symfony2:在服務中使用記錄器的問題(作爲參數傳遞)
我創建了一個正在從控制器調用的服務,它工作正常。 現在我需要的是服務生成的日誌,我試圖通過記錄是這樣的:
soap.client:
class: MyFirm\MyAppBundle\Service\SOAPClient
arguments:
logger: "@logger"
我服務的定義是這樣的:
namespace MyFirm\MyAppBundle\Service;
use \SoapClient as SoapClient;
use Monolog\Logger;
class SOAPClient
{
private $logger;
function __construct (Logger $logger)
{
$this->logger = $logger;
}
function sendMessage ($message, $wsdl_url)
{
$webServResult = "ERROR";
try{
$client = new SoapClient($wsdl_url, array("trace"=>true,
"exceptions"=>true));
$webServResult=$client->sendMessage($data);
}
catch(\Exception $ex){
$webServResult="ERROR";
$message=$ex->getMessage();
$log_text = print_r($ex, true)."\n".
$client->__getLastRequest()."\n".
$client->__getLastResponse();
$this->logger->err("ERROR: ".$log_text);
}
return $webServResult;
}
}
然而,當我使用記錄(例如,如果wsdl不存在),應用程序將掛起。
我做錯了什麼?非常感謝。
它至少幫助我使用服務中的記錄器。 –