1

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

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

我该怎么做才能记录所有错误,就像在第一种情况下一样?

4

2 回答 2

2

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

我想如果你愿意的话,你可以从容器中捕获\Exception和使用独白记录器(命令可以访问 DIC)。

我认为如果需要,您也可以通过其他方式来做到这一点,例如通过扩展Symfony\Component\Console\Application类和方法renderException并在那里记录错误,但我从来没有真正这样做过,只是看到命令/应用程序 API 应该允许这样做。

于 2012-09-20T08:22:03.550 回答
1

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

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

于 2012-11-13T10:50:10.377 回答