Exemple #1
0
 /**
  * writeItem
  *
  * Write into log file one report line
  *
  * @param  array $item Loggable report data
  * @return null
  */
 public static function writeItem(array $item)
 {
     $existsLog = false;
     $logDir = APPLICATION . 'logs';
     $logFile = $logDir . '/main.log';
     if (!is_dir($logDir)) {
         exit('Log path ' . $logDir . ' is not directory or not exists!');
     } else {
         if (!is_writable($logDir)) {
             exit('Log path ' . $logDir . ' don\'t have writable permissions!');
         }
     }
     if (is_file($logFile)) {
         if (!is_writable($logFile)) {
             exit('Log file ' . $logFile . ' don\'t have writable permission!');
         }
         $existsLog = true;
         $maxLogSize = App::getConfig('main')->system->log_file_max_size;
         if (filesize($logFile) > $maxLogSize) {
             $logName = date('Y-m-d_H.i.s');
             $archLog = $logDir . '/main_' . $logName . '.log';
             rename($logFile, $archLog);
             $existsLog = false;
         }
     }
     $item['url'] = Request::getRawUrl();
     $item = ($existsLog ? ",\n" : '') . json_encode($item);
     file_put_contents($logFile, $item, LOCK_EX | FILE_APPEND);
     if (!$existsLog) {
         chmod($logFile, 0666);
     }
 }
 /**
  * Constructor
  * @param Client $cli
  * @param Request $req
  * @param string|integer $key
  */
 public function __construct($cli, $req, $key = null)
 {
     $this->cli = $cli;
     $this->req = $req;
     $this->key = $key;
     $this->res = new Response($req->getRawUrl());
     $this->finished = $this->headerOk = false;
     $this->timeBegin = microtime(true);
 }
Exemple #3
0
 /**
  * Run parse handler
  * @param Response $res response object
  * @param Request $req request object
  * @param mixed $key the key string of multi request
  */
 public function runParser($res, $req, $key = null)
 {
     if ($this->_parser !== null) {
         self::debug('run parser: ', $req->getRawUrl());
         if ($this->_parser instanceof ParseInterface) {
             $this->_parser->parse($res, $req, $key);
         } else {
             call_user_func($this->_parser, $res, $req, $key);
         }
     }
 }