public function errLogedExec() { $args = func_get_args(); try { $log = null; if ($this->debug) { $executer = ObjectFinder::find('SQLExecuter'); $log = DebugUtls::sqlLogEnable(); } return call_user_func_array($this->calledFun, $args); } catch (Exception $e) { if ($e instanceof BizException) { $loger = LoggerManager::getBizErrLogger(); } else { if ($e instanceof SysException) { $loger = LoggerManager::getSysErrLogger(); } else { if ($e instanceof LogicException) { $loger = LoggerManager::getBizErrLogger(); } else { $loger = LoggerManager::getSysErrLogger(); } } } $errorMsg = $e->getMessage(); $errorPos = $e->getTraceAsString(); $loger->err($errorMsg); $loger->err($errorPos); echo "{$errorMsg}\n"; echo "{$errorPos}\n"; $msgs = DiagnoseMonitor::msgs(); foreach ($msgs as $msg) { echo "{$msg}\n"; $loger->err("dc:{$msg}"); } } }