2015-08-31 42 views
0

我有一個與Cron一起運行的命令,我想用日誌創建文件。 在該文件中我寫的成功登錄,我想也寫了異常的記錄,我想看到的日誌到控制檯,如果我啓動我的命令,手動獲取命令行中的所有例外Symfony 2

我創建的服務這樣link但我不看到我的控制檯任何日誌和任何錯誤

我不明白我必須做後創建服務

我的命令很簡單,擴展ContainerAwareCommand

類CreateXmlCommand擴展ContainerAwareCommand

{ 
    protected function configure() 
    { 
     $this 
      ->setName('foo') 
      ); 

    } 

    protected function execute(InputInterface $input, OutputInterface $output) 
    { 
     //stuff 

    } 
} 

我還想得到FatalErrorException,它在我的文件寫

回答

-1

致命錯誤也不例外,直到PHP 7!你不能「捕捉」它。

+0

你是對的,怎麼能得到我的'應用程序/日誌/ dev.log'由於服務查找錯誤命令http://symfony.com/doc/current/cookbook/console/logging.html? – monkeyUser

+0

這是不正確的,我會爲那些來的人發佈答案 –

0

爲了抓住fatal等...在PHP7之前,你需要設置一個錯誤手柄,來捕捉錯誤,並且自己拋出一個異常。例如。

function exception_error_handler($severity, $message, $file, $line) 
{ 
    if (!(error_reporting() & $severity)) { 
     // This error code is not included in error_reporting 
     return; 
    } 

    $message = sprintf('Error: %s, occured in (%s) on line (%s)', $message, $file, $line); 

    throw new ErrorException($message, 0, $severity, $file, $line); 
} 

然後,一旦你有你的工作,你需要註冊它

set_error_handler('exception_error_handler');