我有一个基于Phalcon Framework的现有应用程序,我的问题是任何地方都没有记录异常。
当发生一些致命错误时,我可以在php错误中看到它,但不能在异常中看到。
写入默认日志的位置?我可以为日志定义一个自定义路径吗?
谢谢你的帮助!
Phalcon PHP异常日志
您在try...catch
循环中处理异常:
try { ...run application here } catch ( Exception $e ) { ...do logging here }
实例化内置的Phalcon记录器(注意:我使用的是文件适配器):
$logger = new PhalconLoggerAdapterFile("../app/logs/exceptions.log");
记录异常消息:
$logger->log($e->getMessage());
解决方案摘要
$logger = new PhalconLoggerAdapterFile("../app/logs/test.log");
try { ...run application here } catch ( Exception $e ) {
$logger->log($e->getMessage());
}
我的代码中有以下异常处理程序:
//我们注册活动经理$di->set('dispatcher',function(){//创建事件管理器$eventsManager=新的eventsManager();//附加侦听器$eventsManager->attach("dispatch:beforeException",函数($event,$dispatcher,$exception){//替代方式、控制器或操作不存在开关($exception->getCode()){case\Phalcon\Dispatcher::EXCEPTION_HANDLE_NOT_FOUND:$strUrlRelocate="http://"$_服务器['SERVER_NAME']。"/";header("Location:".$strUrlRelocate);打破case\Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:error_log($exception);打破}});$dispatcher=新MvcDispatcher();//将事件管理器绑定到视图组件$dispatcher->setEventsManager($eventsManager);return$dispatcher;},true);
也许一个有效的例子会对你有所帮助。