在Cakephp 2.6中,我在core.php文件中注册了一个自定义异常处理程序:
Configure::write('Exception.handler', function($error) {
$lMessage = "Message: ". $error->getMessage(). "\r\n";
$lMessage += "\r\n";
ob_start();
var_dump($error->getTrace()); // attach the callstack
$lMessage += ob_get_clean();
Mail::send("xxxxxxxxxx", "Exception", $lMessage);
});
问题:无法发送邮件,因为callstack太长。 callstack有一个包含137837行代码的字符串。它太长了,因为它包含框架中的代码。
问题:如何获得更多关注我自己编写的代码的更加总结的callstack?
附加代码→我如何抛出此示例的例外:
// Call via the browser: http://hostname/Test/test
// The Controller
class TestController extends AppController
{
function test()
{
$lResult = $this->Test->TestException();
}
}
// The Model
class Test extends AppModel
{
public function TestException()
{
throw new InvalidArgumentException();
}
}