/** * @param $method * @param $arguments * @param $duration * @param $return */ private function logOperation($method, $arguments, $duration, $return) { $params['cost'] = $duration; $operValue = json_encode($arguments); $length = strlen($operValue); if ($length > self::LOG_TRUNCATION_LEN) { $operValue = substr($operValue, 0, self::LOG_TRUNCATION_LEN) . '...'; } $params['operName'] = $method; $params['operValue'] = $operValue; $params['operLength'] = $length; if (!empty($return)) { $returnValue = json_encode($return); $length = strlen($returnValue); if ($length > self::LOG_TRUNCATION_LEN) { $returnValue = substr($returnValue, 0, self::LOG_TRUNCATION_LEN) . '...'; } $params['resultValue'] = $returnValue; $params['resultLength'] = $length; } Logger::warning('thrift_operation_' . $this->tag . '_trace', 0, $params); }
private static function log($type, $msg, $errorNo, $params) { if (class_exists('Xiaoju\\Beatles\\Utils\\Logger')) { switch ($type) { case 'debug': Logger::debug($msg, $errorNo, $params); break; case 'trace': Logger::trace($msg, $errorNo, $params); break; case 'notice': Logger::notice($msg, $errorNo, $params); break; case 'warning': Logger::warning($msg, $errorNo, $params); break; case 'fatal': Logger::fatal($msg, $errorNo, $params); break; } } }
public function testNoArg() { $fileName = self::LOG_DIR . 'didi.log.wf'; $logMsg = 'Test no argument'; $logId = Utils\Logger::getLogId(); $logErrorNo = 120; $expectedResult = array('[WARNING]' => null, 'logId' => $logId, 'errno' => $logErrorNo, 'msg' => $logMsg, 'ip' => '127.0.0.1', 'uri' => ''); @unlink($fileName); Utils\Logger::setLogId($logId); Utils\Logger::warning($logMsg, $logErrorNo); $logContents = file_get_contents($fileName); $actualResult = $this->parseLog(str_replace(PHP_EOL, '', $logContents)); unset($actualResult['time']); unset($actualResult['line']); $diff = array_diff_assoc($actualResult, $expectedResult); $this->assertEquals(count($diff), 0, 'actual result differs from expected: ' . var_export($diff, true)); }
private static function logOperation($method, $arguments, $duration, $return) { $params['cost'] = $duration; $operValue = implode(' ', $arguments); $length = strlen($operValue); if ($length > self::LOG_TRUNCATION_LEN) { $operValue = substr($operValue, 0, self::LOG_TRUNCATION_LEN) . '...'; } $params['operName'] = $method; $params['operValue'] = $operValue; $params['operLength'] = $length; if (!empty($return)) { $returnValue = strval($return); $length = strlen($returnValue); if ($length > self::LOG_TRUNCATION_LEN) { $returnValue = substr($returnValue, 0, self::LOG_TRUNCATION_LEN) . '...'; } $params['resultValue'] = $returnValue; $params['resultLength'] = $length; } if (class_exists('Xiaoju\\Beatles\\Utils\\Logger')) { Logger::warning('pheanstalk operation', 0, $params); } }
$loader->addPsr4('Xiaoju\\Beatles\\Utils\\', FRAMEPATH . 'libraries'); $loader->addPsr4('Xiaoju\\Beatles\\Utils\\', FRAMEPATH . 'config'); $errNo = 0; $errMsg = ''; $__uid = 0; try { //生成全局的logid \Xiaoju\Beatles\Utils\Logger::create($logConfig['intLevel'], $logConfig['strLogFile'], $logConfig['intMaxFileSize']); \Xiaoju\Beatles\Utils\Logger::setLogId(Xiaoju\Beatles\Utils\Logger::getLogId()); $params = array('get' => $_GET, 'post' => $_POST); register_shutdown_function('logFinish', $params); $routerConfig = $appNameSpace . '\\Config\\Route'; if (class_exists($routerConfig) && is_array($routerConfig::$routes)) { $routerConfig = $routerConfig::$routes; } else { $routerConfig = array(); } $router = new \Xiaoju\Beatles\Framework\Base\Router($_SERVER['REQUEST_URI'], $routerConfig); $router->setRoute(); $router->run($params); } catch (\InvalidArgumentException $ex) { $errNo = -1; $errMsg = strlen($ex->getMessage()) ? $ex->getMessage() : 'system error'; \Xiaoju\Beatles\Utils\Logger::fatal($errMsg, $errNo, array('in' => json_encode($params), 'out' => ob_get_contents())); echo \Xiaoju\Beatles\Utils\Formatter::format(array('errno' => $errNo, 'errmsg' => $errMsg)); } catch (\Exception $ex) { $errNo = $ex->getCode(); $errMsg = $ex->getMessage(); \Xiaoju\Beatles\Utils\Logger::warning($errMsg, $errNo, array('in' => json_encode($params), 'out' => ob_get_contents())); echo \Xiaoju\Beatles\Utils\Formatter::format(array('errno' => $errNo, 'errmsg' => $errMsg)); }