Example #1
0
 public function testAutoFlushByTimeLimit()
 {
     global $mockTime;
     LogService::setAutoFlushEntries(100);
     LogService::setAutoFlushBytes(512 * 1024);
     LogService::setLogFlushTimeLimit(0);
     $this->resetLastFlushTime(10);
     $request = new FlushRequest();
     $app_log_group = new UserAppLogGroup();
     $this->addLogLine($app_log_group, 1, 10, 'message 2');
     $this->addLogLine($app_log_group, 2, 20, 'message 3');
     $request->setLogs($app_log_group->serializeToString());
     $response = new VoidProto();
     $this->apiProxyMock->expectCall(self::RPC_PACKAGE, self::RPC_FLUSH_METHOD, $request, $response);
     $mockTime = 10;
     LogService::log(1, 'message 2');
     $mockTime = 20;
     LogService::setLogFlushTimeLimit(9);
     LogService::log(2, 'message 3');
 }
 /**
  * Write all buffered log messages to the log storage. Logs may not be
  * immediately available to read.
  */
 public static function flush()
 {
     if (isset(self::$app_log_group)) {
         $req = new FlushRequest();
         $req->setLogs(self::$app_log_group->serializeToString());
         $resp = new VoidProto();
         ApiProxy::makeSyncCall('logservice', 'Flush', $req, $resp);
         self::$app_log_group->clear();
         self::$last_flush_time = microtime(true);
     }
 }