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