CakePHP 2在error.log中丢失ControllerException=>;显示访问的url

CakePHP 2在error.log中丢失ControllerException=>;显示访问的url,cakephp,exception-handling,Cakephp,Exception Handling,是否可以创建/扩展CakePHP异常处理程序,该处理程序显示用户试图访问的引发异常的url 通常,当我查看error.log文件时,会看到如下内容: 2012-08-01 13:39:20错误:[MissingControllerException]找不到控制器类UserController。 #0/www/htdocs/w0081e0e/app/webroot/index.php(104):调度程序->调度(对象(CakeRequest),对象(CakeResponse)) #1{main}

是否可以创建/扩展CakePHP异常处理程序,该处理程序显示用户试图访问的引发异常的url

通常,当我查看error.log文件时,会看到如下内容:

2012-08-01 13:39:20错误:[MissingControllerException]找不到控制器类UserController。 #0/www/htdocs/w0081e0e/app/webroot/index.php(104):调度程序->调度(对象(CakeRequest),对象(CakeResponse)) #1{main}

我有一个可用的UsersController,但我不确定用户试图访问哪个url,哪个url会抛出此错误。这将帮助我在error.log文件中查看url。可能吗?是否必须创建/扩展异常处理文件


更新: 我没有编写自己的ExceptionHandler,而是更新了“lib/Cake/Error/ErrorHandler.php”中的“handleException”函数:


我知道,一旦我更新了CakePHP版本,它就会被覆盖,但这是一个快速修复方法,对于我的情况来说效果非常好。

您可以编写自己的异常处理程序。这是很好的记录在


不管怎样,URL看起来像
http://something/user/something
。错误显示找不到
UserController
,这是正确的,因为您只有
userscocontroller
(复数)。如果您只是想避免此错误,那么查找创建
/user/
URL的文件就足够了

您可以编写自己的异常处理程序。这是很好的记录在

不管怎样,URL看起来像
http://something/user/something
。错误显示找不到
UserController
,这是正确的,因为您只有
userscocontroller
(复数)。如果您只是想避免此错误,那么查找创建
/user/
URL的文件就足够了

if (!empty($config['log'])) {
        $message = sprintf("[%s] %s\n%s",
            get_class($exception),
            $exception->getMessage(),
            $exception->getTraceAsString().' - http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\n"
        );
        CakeLog::write(LOG_ERR, $message);
    }