Przeglądaj źródła

Merge pull request #1747 from visuddhinanda/agile

tulip logs 目录运行时创建
visuddhinanda 2 lat temu
rodzic
commit
8ce132f945

+ 1 - 0
rpc/tulip/tulip/.gitignore

@@ -2,3 +2,4 @@
 /composer.lock
 /config.php
 /storage/
+/logs/

+ 3 - 3
rpc/tulip/tulip/logger.php → rpc/tulip/tulip/console.php

@@ -1,11 +1,11 @@
 <?php
 
-function logger($level,$message){
+function console($level,$message){
     $output = "[\033[32m".date("Y/m/d h:i:sa") ."\033[0m] ";
     if($level === 'error'){
-        $output .= "\033[41m" . $level . "\033[0m ";
+        $output .= "\033[41m" . strtoupper($level) . "\033[0m ";
     }else{
-        $output .= $level;
+        $output .= strtoupper($level);
     }
     
     $output .= ' ' . $message.PHP_EOL;

+ 14 - 14
rpc/tulip/tulip/content_download.php

@@ -1,27 +1,27 @@
 <?php
 require dirname(__FILE__) . '/vendor/autoload.php';
 require dirname(__FILE__) . '/config.php';
-require dirname(__FILE__) . '/logger.php';
+require dirname(__FILE__) . '/console.php';
 require dirname(__FILE__) . '/pdo.php';
 
-logger('debug', 'download full test search content start');
+console('debug', 'download full test search content start');
 $param = getopt('b:');
 
 if (isset($param['b'])) {
     $bookId = (int)$param['b'];
-    logger('debug', 'update book=' . $bookId);
+    console('debug', 'update book=' . $bookId);
 }
 $PDO = new PdoHelper;
 
 $PDO->connectDb();
-logger('debug', 'connect database finished');
+console('debug', 'connect database finished');
 
 $client = new GuzzleHttp\Client();
 
 $pageSize = 1000;
 
 $urlBase = Config['api_server'] . '/v2/pali-search-data';
-logger('debug', 'url=' . $urlBase);
+console('debug', 'url=' . $urlBase);
 if (isset($bookId)) {
     $from = $bookId;
     $to = $bookId;
@@ -32,11 +32,11 @@ if (isset($bookId)) {
 for ($book = $from; $book <= $to; $book++) {
     $currPage = 1;
     $urlBook = $urlBase . "?book={$book}";
-    logger('debug', 'fetch book=' . $book);
+    console('debug', 'fetch book=' . $book);
     do {
         $goNext = false;
         $url = $urlBook . "&start={$currPage}&page_size={$pageSize}";
-        logger('debug', 'url=' . $url);
+        console('debug', 'url=' . $url);
         $res = $client->request('GET', $url);
         $status = $res->getStatusCode();
         if ($status === 200) {
@@ -46,7 +46,7 @@ for ($book = $from; $book <= $to; $book++) {
                 foreach ($json->data->rows as $row) {
                     $book = $row->book;
                     $paragraph = $row->paragraph;
-                    logger('debug', "update start book={$book} para={$paragraph} ");
+                    console('debug', "update start book={$book} para={$paragraph} ");
                     $now = date("Y-m-d H:i:s");
                     //查询是否存在
                     $query = 'SELECT id from fts_texts where book=? and paragraph = ?';
@@ -98,23 +98,23 @@ for ($book = $from; $book <= $to; $book++) {
                         );
                     }
                 }
-                logger('debug', "update done book={$book} para={$paragraph} ");
+                console('debug', "update done book={$book} para={$paragraph} ");
                 $maxPage = $json->data->count;
-                logger('debug', 'max page =' . $maxPage);
+                console('debug', 'max page =' . $maxPage);
                 if ($currPage + $pageSize < $maxPage) {
                     $goNext = true;
                 } else {
-                    logger('debug', "book {$book} is done");
+                    console('debug', "book {$book} is done");
                     $goNext = false;
                 }
             } else {
-                logger('error', '');
+                console('error', '');
             }
         } else {
-            logger('error', 'status=' . $status);
+            console('error', 'status=' . $status);
         }
         $currPage += $pageSize;
     } while ($goNext);
 }
 
-logger('debug', 'all done');
+console('debug', 'all done');

+ 5 - 5
rpc/tulip/tulip/content_update.php

@@ -3,9 +3,9 @@
 require dirname(__FILE__) . '/vendor/autoload.php';
 require dirname(__FILE__) . '/config.php';
 require dirname(__FILE__) . '/pdo.php';
-require dirname(__FILE__) . '/logger.php';
+require dirname(__FILE__) . '/console.php';
 
-logger('debug','content update start');
+console('debug','content update start');
 
 $PDO = new PdoHelper;
 
@@ -20,9 +20,9 @@ WHERE book = ?;";
 for ($i=1; $i < 218; $i++) { 
     $ok = $PDO->execute($query,[$i]);
     if($ok){
-        logger('debug','book: '.$i. ' updated.');
+        console('debug','book: '.$i. ' updated.');
     }else{
-        logger('error','error book: '.$i. ' update fail.'.$PDO->errorInfo());
+        console('error','error book: '.$i. ' update fail.'.$PDO->errorInfo());
     }
 }
-logger('debug','all done');
+console('debug','all done');

+ 11 - 11
rpc/tulip/tulip/dict_maker.php

@@ -1,7 +1,7 @@
 <?php
 require dirname(__FILE__) . '/vendor/autoload.php';
 require dirname(__FILE__) . '/config.php';
-require dirname(__FILE__) . '/logger.php';
+require dirname(__FILE__) . '/console.php';
 
 
 $dir = dirname(__FILE__) . '/storage/dict';
@@ -14,7 +14,7 @@ if(!is_dir($dir)){
 }
 
 //删除目录下所有文件
-logger('debug','delete all of file');
+console('debug','delete all of file');
 $files = scandir($dir);
 foreach ($files as $key => $file) {
     if(is_file($dir.'/'.$file)){
@@ -25,47 +25,47 @@ foreach ($files as $key => $file) {
 $stopFile = $dir.'/.stop';
 $stop = file_put_contents ($stopFile,'stop');
 if($stop === false){
-    logger('error',"create stop file fail ");
+    console('error',"create stop file fail ");
     return 0;
 }
 
 $filename = $dir.'/pali-'.date("Y-m-d-h-i-sa").'.syn';
 $fp = fopen($filename,'a');
 if(!$fp){
-    logger('error',"open file fail filename=".$filename);
+    console('error',"open file fail filename=".$filename);
     return 0;
 }
 $client = new GuzzleHttp\Client();
 $currPage = 1;
 
     $urlBase = Config['api_server'] . '/v2/pg-pali-dict-download';
-    logger('debug','url='.$urlBase);
+    console('debug','url='.$urlBase);
     do {
         $goNext = false;
         $url = $urlBase . "?page={$currPage}";
-        logger('debug','url='.$url);
+        console('debug','url='.$url);
         $res = $client->request('GET', $url);
         $status = $res->getStatusCode();
         if($status === 200){
             $json = json_decode($res->getBody());
             if($json->ok){
                 $content = $json->data;
-                logger('debug','data size='.strlen($content));
+                console('debug','data size='.strlen($content));
                 fwrite($fp,$content."\n");
-                logger('debug','write to file success');
+                console('debug','write to file success');
                 $goNext = true;
             }else{
-                logger('debug', 'all done');
+                console('debug', 'all done');
             }
         }else{
-            logger('error', 'status='.$status);
+            console('error', 'status='.$status);
         }
         $currPage++;
         sleep(1);
     } while ($goNext);
     
 fclose($fp);
-logger('debug','all done filename='.$filename) ;
+console('debug','all done filename='.$filename) ;
 
 unlink($stopFile);
 

+ 5 - 5
rpc/tulip/tulip/dict_update.php

@@ -3,9 +3,9 @@
 require dirname(__FILE__) . '/vendor/autoload.php';
 require dirname(__FILE__) . '/config.php';
 require dirname(__FILE__) . '/pdo.php';
-require dirname(__FILE__) . '/logger.php';
+require dirname(__FILE__) . '/console.php';
 
-logger('debug','dict update start');
+console('debug','dict update start');
 
 $PDO = new PdoHelper;
 
@@ -17,9 +17,9 @@ $query = "ALTER TEXT SEARCH DICTIONARY pali_stem (
 
 $ok = $PDO->execute($query);
 if($ok){
-    logger('debug','dictionary updated');
+    console('debug','dictionary updated');
 }else{
-    logger('error','dictionary update fail.'.$PDO->errorInfo());
+    console('error','dictionary update fail.'.$PDO->errorInfo());
 }
 
-logger('debug','all done');
+console('debug','all done');

Plik diff jest za duży
+ 56807 - 5702
rpc/tulip/tulip/dictionary/pali.syn


+ 20 - 0
rpc/tulip/tulip/log.php

@@ -0,0 +1,20 @@
+<?php
+require_once __DIR__ . '/vendor/autoload.php';
+
+use Monolog\Logger;
+use Monolog\Handler\StreamHandler;
+
+function myLog(){
+    $dir = __DIR__ . '/logs';
+    if(!is_dir($dir)){
+        $res = mkdir($dir,0700,true);
+        if(!$res){
+            echo "error: mkdir fail path=".$dir;
+            return 0;
+        }
+    }
+
+    $log = new Logger('tulip');
+    $log->pushHandler(new StreamHandler($dir . '/tulip-' . date("Y-m-d") . '.log'));
+    return $log;
+}

+ 0 - 3
rpc/tulip/tulip/logs/.gitignore

@@ -1,3 +0,0 @@
-*
-!.gitignore
-

+ 4 - 12
rpc/tulip/tulip/pdo.php

@@ -1,20 +1,12 @@
 <?php
-require dirname(__FILE__) . '/vendor/autoload.php';
+require_once dirname(__FILE__) . '/vendor/autoload.php';
+require_once dirname(__FILE__) . '/log.php';
 
-use Monolog\Logger;
-use Monolog\Handler\StreamHandler;
 
 class PdoHelper
 {
     private $_pdo = null;
-    private $log = null;
 
-    public function __construct()
-    {
-        // create a log channel
-        $this->log = new Logger('tulip');
-        $this->log->pushHandler(new StreamHandler(__DIR__ . '/logs/tulip-' . date("Y-m-d") . '.log'));
-    }
     public function connectDb()
     {
         /**
@@ -35,11 +27,11 @@ class PdoHelper
                 Config['database']['password'],
                 array(PDO::ATTR_PERSISTENT => true)
             );
-            $this->log->info('connect to db success');
+            myLog()->info('connect to db success');
         } catch (PDOException $e) {
             echo 'connect to db fail' . PHP_EOL;
             print $e->getMessage();
-            $this->log->error('connect to db fail');
+            myLog()->error('connect to db fail');
             return false;
         }
         $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

+ 19 - 25
rpc/tulip/tulip/server.php

@@ -2,21 +2,15 @@
 
 require_once dirname(__FILE__) . '/vendor/autoload.php';
 require_once dirname(__FILE__) . '/config.php';
-require_once dirname(__FILE__) . '/logger.php';
+require_once dirname(__FILE__) . '/console.php';
 require_once dirname(__FILE__) . '/pdo.php';
+require_once dirname(__FILE__) . '/log.php';
+
 
-use Monolog\Logger;
-use Monolog\Handler\StreamHandler;
 
 class Greeter extends \Mint\Tulip\V1\SearchStub
 {
-    private $log = null;
-    public function __construct()
-    {
-        // create a log channel
-        $this->log = new Logger('tulip');
-        $this->log->pushHandler(new StreamHandler(__DIR__ . '/logs/tulip-' . date("Y-m-d") . '.log'));
-    }
+
     public function Pali(
         \Mint\Tulip\V1\SearchRequest $request,
         \Grpc\ServerContext $context
@@ -26,8 +20,8 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
             $keyWords[] = $word;
         }
         $msg = "[" . date("Y/m/d h:i:sa") . "] pali search: request words = " . implode(',', $keyWords);
-        echo  $msg . PHP_EOL;
-        $this->log->info($msg);
+        console('debug',$msg);
+        myLog()->info($msg);
 
         $pdo = new PdoHelper;
         $pdo->connectDb();
@@ -45,11 +39,11 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
             $queryBookId = '';
         }
         $msg = 'query books = ' . implode(',', $bookId);
-        echo  $msg . PHP_EOL;
-        $this->log->info($msg);
+        console('debug',$msg);
+        myLog()->info($msg);
 
         $matchMode = $request->getMatchMode();
-        echo 'query mode = ' . $matchMode . PHP_EOL;
+        console('debug','query mode = ' . $matchMode);
         $param = [];
         switch ($matchMode) {
             case 'complete':
@@ -109,8 +103,8 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
         ) {
             $total = $resultCount[0]['co'];
         } else {
-            logger('warning', 'result must be of type array' . $pdo->errorInfo());
-            $this->log->error('result must be of type array' . $pdo->errorInfo());
+            console('debug','warning', 'result must be of type array' . $pdo->errorInfo());
+            myLog()->error('result must be of type array' . $pdo->errorInfo());
             $total = 0;
         }
 
@@ -163,8 +157,8 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
             }
         }
 
-        echo "total={$total}" . PHP_EOL;
-        $this->log->info("total={$total}");
+        console('debug',"total={$total}");
+        myLog()->info("total={$total}");
         $response->setTotal($total);
         return $response;
     }
@@ -183,7 +177,7 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
         foreach ($request->getKeywords()->getIterator() as $word) {
             $keyWords[] = $word;
         }
-        echo "book list: request words = " . implode(',', $keyWords) . PHP_EOL;
+        console('debug',"book list: request words = " . implode(',', $keyWords));
         /**
          * 查询业务逻辑
          */
@@ -199,10 +193,10 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
         } else {
             $queryBookId = '';
         }
-        echo 'query books = ' . implode(',', $bookId) . PHP_EOL;
+        console('debug','query books = ' . implode(',', $bookId));
 
         $matchMode = $request->getMatchMode();
-        echo 'query mode = ' . $matchMode . PHP_EOL;
+        console('debug','query mode = ' . $matchMode);
         $queryWhere = $this->makeQueryWhere($keyWords, $matchMode);
         $query = "SELECT pcd_book_id, count(*) as co FROM fts_texts WHERE {$queryWhere['query']} {$queryBookId} GROUP BY pcd_book_id ORDER BY co DESC;";
         $result = $pdo->dbSelect($query, $queryWhere['param']);
@@ -218,7 +212,7 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
             }
         }
 
-        echo "total=" . count($output) . PHP_EOL;
+        console('debug',"total=" . count($output));
         return $response;
     }
 
@@ -264,11 +258,11 @@ class Greeter extends \Mint\Tulip\V1\SearchStub
 $port = Config['port'];
 
 if (!isset($port)) {
-    echo 'parameter port is required. ';
+    console('debug','parameter port is required. ');
     return;
 }
 $server = new \Grpc\RpcServer();
 $server->addHttp2Port('0.0.0.0:' . $port);
 $server->handle(new Greeter());
-echo 'Listening on port :' . $port . PHP_EOL;
+console('debug','Listening on port :' . $port);
 $server->run();

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików