Exemplo n.º 1
0
 /**
  * @test
  * @group logger
  * @group logger-get-stacktrace
  **/
 public function エラー内容をトレースする()
 {
     try {
         throw new \Exception('これはテストです');
     } catch (\Exception $e) {
         $log = Logger::getStackTrace($e);
         $this->assertTrue(is_string($log));
     }
 }
Exemplo n.º 2
0
 /**
  * エントリを解析して必要データを配列で返す
  *
  * @param  DOMElement $entry
  * @return array
  **/
 private function _parseEntry($entry)
 {
     try {
         $entry_date = $this->plugin->getEntryDate($entry);
         // 今日の登録されたエントリではない、またはTestData使用でなければそのまま返す
         if (date('Y-m-d') != $entry_date && $this->plugin->hasTestData() === false) {
             return array();
         }
         $url = false;
         $url = $this->plugin->getEntryUrl($entry);
         $html = $this->plugin->fetchHtml($url);
         $title = $this->plugin->getEntryTitle($html);
         $eyecatch = $this->plugin->getEyeCatchUrl($html);
         $movies = $this->plugin->getMoviesUrl($html);
         $result = array('title' => $title, 'url' => $url, 'eyecatch' => $eyecatch, 'image_src' => '', 'movies' => $movies);
     } catch (CrawlerException $e) {
         if ($url !== false) {
             Logger::addLog($url);
         }
         Logger::addLog($e->getMessage());
         Logger::addLog($this->plugin->getSiteName() . PHP_EOL);
         $result = array();
     } catch (\Exception $e) {
         if ($url !== false) {
             Logger::addLog($url);
         }
         Logger::addLog($e->getMessage());
         Logger::addLog(Logger::getStackTrace($e) . PHP_EOL);
         $result = array();
     }
     return $result;
 }
Exemplo n.º 3
0
 /**
  * 指定パスのファイルをS3の指定パスへアップロードする
  *
  * @param  string $from_path
  * @param  string $to_path
  * @return void
  **/
 private function _uploadConents($from_path, $to_path)
 {
     if (IS_EC2 === false) {
         return false;
     }
     try {
         $this->S3->upload($from_path, $to_path);
     } catch (\Exception $e) {
         Logger::addLog($from_path . ' -> ' . $to_path);
         Logger::addLog('S3へのアップロードに失敗した' . PHP_EOL);
     }
 }
Exemplo n.º 4
0
 /**
  * クロール中に発生したエラーログをメール送信する
  *
  * @param  Exception $e
  * @return void
  **/
 private function _sendErrorLog($e)
 {
     $ses = new Ses();
     $ses->setTitle('Crawl Error!');
     $ses->setBody(Logger::getStackTrace($e));
     $ses->send();
 }
Exemplo n.º 5
0
 /**
  * ログを追記する
  *
  * @param  string $text
  * @return void
  **/
 public static function addLog($text)
 {
     $log = Logger::getLog();
     $log .= $text . PHP_EOL;
     Registry::set('log', $log);
 }