Symfony2不记录在自定义命令中引发的异常

时间:2012-09-19 14:43:14

标签: logging symfony exception-handling symfony-2.1 monolog

在正常的http请求期间发生错误时,Symfony2会记录所有内容(具体取决于您的日志记录级别),您可以在dev.log或app.log中看到它。

但是当您在执行自定义命令期间出现错误时,它不会记录任何内容。它只是在标准输出中显示一条红色消息,甚至没有回溯。

我可以做些什么来记录所有错误,例如第一种情况?

2 个答案:

答案 0 :(得分:2)

在运行命令时添加--verbose选项时,您应该看到回溯。

我想你可以抓住\Exception并使用容器中的monolog记录器(命令可以访问DIC)。

我认为如果需要的话,你也可以用其他方式来做 扩展Symfony\Component\Console\Application类和方法renderException并在那里记录错误,但我从来没有这样做,只是看到Command / Application API应该允许。

答案 1 :(得分:1)

我必须自己做,Symfony2不会这样做。

创建一个BaseCommand来扩展它捕获所有错误和异常并记录它们。