'globalhoghlights','ah'=>'asiahighlights');//站点日志存储库,每个网站对应一个 function __construct() { parent::__construct(); $this->load->model('wwwlogs_model'); $this->load->library('Aliyun_log_lib'); $this->Log_Client = new Aliyun_Log_Client($this->endpoint, $this->accessKeyId, $this->accessKey, $this->token); } public function index() { $data=array(); $orders=$this->wwwlogs_model->get_update_list(10); if($orders){ foreach ($orders as $item){ $this->orders_view_path($item->COLI_SN,$item->COLI_WebCode,$item->COLI_SenderIP); echo 'COLI_WebCode:'.$item->COLI_WebCode.' COLI_ID:'.$item->COLI_ID.' COLI_SenderIP:'.$item->COLI_SenderIP.'
'; } } $this->load->view('welcome'); } //定时抓取订单日志 public function orders_view_path($COLI_SN,$sitecode='cht',$ip,$offset=0){ $query_string=" * | select time_local,http_referer,request_uri,http_user_agent,http_x_forwarded_for remote_addr,request_method,request_time,status,body_bytes_sent,upstream_response_time,request_body from log where request_uri NOT like '%.jpg' and request_uri NOT like '%.png' and request_uri NOT like '%.gif' and request_uri NOT like '/guide-use.php%' and request_uri NOT like '/index.php%' and request_uri NOT like '/secureforms/form_token' and remote_addr='$ip' ";//ORDER BY time_local ASC 时间精度不够,会导致相同排序错误,只能用系统默认排序 /* remote_addr :'23.99.99.139' AND NOT request_uri :"/secureforms/form_token" AND NOT request_uri :".jpg" AND NOT request_uri :".png" AND NOT request_uri :".gif" AND NOT request_uri :"guide-use.php" AND NOT request_uri : "/index.php" */ $from = time()-604800;//往前 604800(7天), 1296000(15天) $to = time(); $request = new Aliyun_Log_Models_GetLogsRequest('globalhoghlights', $this->logstore[$sitecode], $from, $to, '', $query_string, 100, $offset, true); try { $LogData = new StdClass; $LogData->wl_sitecode=$sitecode; $LogData->wl_COLI_SN=$COLI_SN;//订单SN $response = $this->Log_Client->getLogs($request); foreach ($response -> getLogs() as $log) { foreach ($log -> getContents() as $key => $value) { $LogData->$key=$value; } $this->wwwlogs_model->add('wwwlogs',$LogData); } } catch (Aliyun_Log_Exception $ex) { logVarDump($ex); } catch (Exception $ex) { logVarDump($ex); } } public function getLogs(Aliyun_Log_Client $client, $project, $logstore) { $topic = ''; $from = time()-604800;//往前7天 $to = time(); $request = new Aliyun_Log_Models_GetLogsRequest($project, $logstore, $from, $to, $topic, "", 100, 0, false); try { $response = $client->getLogs($request); foreach ($response -> getLogs() as $log) { print $log -> getTime()."\t"; foreach ($log -> getContents() as $key => $value) { print $key.":".$value."\t"; } print "\n"; } } catch (Aliyun_Log_Exception $ex) { logVarDump($ex); } catch (Exception $ex) { logVarDump($ex); } } }