在命令行Symfony 2中获取所有异常

时间:2015-08-31 13:48:53

标签: symfony

我有一个与Cron一起运行的命令,我想用日志创建文件。 在该文件中,我写了成功的日志,我还要写异常日志,如果我手动启动我的命令,我想看日志到控制台

我创建了这样的服务Aya's但我在控制台中看不到任何日志和错误

我不了解创建服务后我必须做的事情

我的命令很简单并且扩展了ContainerAwareCommand

类CreateXmlCommand扩展ContainerAwareCommand

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

    }

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

    }
}

我想得到FatalErrorException并将其写入我的文件

2 个答案:

答案 0 :(得分:0)

要捕捉致命等等......在PHP7之前,您需要设置错误处理程序,捕获错误并自行抛出异常。 E.g。

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');

答案 1 :(得分:-1)

致命错误不是异常,直到PHP 7!你不能抓住"它