我在我的Symfony2项目中触发了这样的错误:
trigger_error('message', E_USER_NOTICE);
我如何能够抑制此错误,以至于我没有得到代码500的响应,但仅通过monolog记录此通知?
由于
答案 0 :(得分:1)
使用trigger_error
不是在Symfony2中触发错误的推荐方法。在Symfony2中触发错误的推荐方法是使用exceptions。在Symfony2中,您可以使用全局异常和Symfony2框架创建的异常,甚至是您在捆绑中创建的异常:
<?php
// src/Acme/DemoBundle/Exception/FooException.php
namespace Acme\DemoBundle\Exception;
class FooException extends \Exception
{
}
<?php
// src/Acme/DemoBundle/Controller/FooController.php
// ...
use Acme\DemoBundle\Exception\FooException;
// ...
public function barAction()
{
// ... do something
// throw an error
throw new FooException('message');
}
但是,如果您想将某些内容记录到文件中,则可以更好地使用其中一个monolog.logger
服务(doctrine
,event
,profiler
,request
,router
,security
或templating
)。有关更多信息,请阅读the monolog documentation。您还可以创建自己的Monolog记录器,创建服务并使用它。