在正常的http请求期间发生错误时,Symfony2会记录所有内容(具体取决于您的日志记录级别),您可以在dev.log或app.log中看到它。
但是当您在执行自定义命令期间出现错误时,它不会记录任何内容。它只是在标准输出中显示一条红色消息,甚至没有回溯。
我可以做些什么来记录所有错误,例如第一种情况?
答案 0 :(得分:2)
在运行命令时添加--verbose
选项时,您应该看到回溯。
我想你可以抓住\Exception
并使用容器中的monolog记录器(命令可以访问DIC)。
我认为如果需要的话,你也可以用其他方式来做
扩展Symfony\Component\Console\Application
类和方法renderException
并在那里记录错误,但我从来没有这样做,只是看到Command / Application API应该允许。
答案 1 :(得分:1)
我必须自己做,Symfony2不会这样做。
创建一个BaseCommand来扩展它捕获所有错误和异常并记录它们。