示例#1
0
 private function log()
 {
     $dir = APP_PATH . '/logs/request';
     if (!is_dir($dir)) {
         mkdir($dir, 0755);
     }
     $file = $dir . '/' . date('Y-m-d') . '.log';
     $logger = new \Zend_Log();
     $formatter = new \Zend_Log_Formatter_Simple("%message%\n");
     $writer = new \Zend_Log_Writer_Stream($file);
     $writer->setFormatter($formatter);
     $logger->addWriter($writer);
     $data = array();
     $data[] = '[' . date('Y-m-d H:i:s') . '] ';
     $url = Http::getUrl('current');
     $url = substr($url, 0, strpos($url, '?')) . '?' . http_build_query($this->getRequest()->getRequest());
     $data[] = $url;
     $line = implode('', $data);
     $debug = Application::app()->getConfig()->debug;
     if ($debug) {
         $res = $this->getResponse()->getBody('api');
         $line .= "\n\t" . $res;
     }
     $logger->log($line, $logger::NOTICE);
 }
示例#2
0
 /**
  *
  * @param array $param
  *            module
  *            version
  *            method
  *            responseFormat
  * @return string
  */
 function getApiUrl(array $param, $uri = '')
 {
     $apiRoot = $this->getApiRoot();
     if (!isset($param['module'])) {
         $param['module'] = $apiRoot->getModule();
     }
     if (!isset($param['version'])) {
         $param['version'] = $apiRoot->getVersion();
     }
     if (!isset($param['method'])) {
         $param['method'] = $apiRoot->getMethod();
     }
     if (!isset($param['responseFormat'])) {
         $param['responseFormat'] = $apiRoot->getResponseFormat();
     }
     $param['module'] = strtolower($param['module']);
     $param['method'] = strtolower($param['method']);
     $base = Http::getUrl('root');
     $url = $base;
     if (!empty($uri)) {
         $url .= '/' . $uri;
     }
     if (!empty($param['module']) && $param['module'] != strtolower($apiRoot->getDefaultModule())) {
         $url .= '/' . $param['module'];
     }
     if (!empty($param['version'])) {
         $url .= '/' . $param['version'];
     }
     $url .= '/' . $param['method'] . '/' . $param['responseFormat'];
     return $url;
 }