Exemplo n.º 1
0
 public function __construct()
 {
     \Seaslog::setBasePath(C("LOG_PATH"));
     \Seaslog::setLogger("Home");
 }
Exemplo n.º 2
0
 /**
  * @param int $page
  * @param null $iLogType
  * @param null $time
  * @param null $level
  * @param null $key_word
  *
  * @return array
  */
 public function getLog($page = 0, $iLogType = NULL, $time = NULL, $level = NULL, $key_word = NULL)
 {
     $return = array('page' => array(), 'data' => array());
     \Seaslog::setLogger($iLogType);
     $date = date('Ymd', time());
     if ($time) {
         $time = substr($time, 0, 8);
         $date = $time;
     }
     $data = array();
     $page_info = array();
     if ($level === NULL) {
         $logList = \SeasLog::analyzerDetail($level, $date, $key_word, 1, 50);
     } else {
         $rowCount = \SeasLog::analyzerCount($level, $date, $key_word);
         $page_info['max_page'] = ceil($rowCount / self::PAGE_LIMIT);
         if ($page > $page_info['max_page']) {
             $page = $page_info['max_page'];
         }
         if ($page < 1) {
             $page = 1;
         }
         if ($page_info['max_page'] <= 9) {
             $return['jump'] = array('min' => 1, 'max' => $page_info['max_page']);
         } elseif ($page > 5 && $page < $page_info['max_page'] - 5) {
             $return['jump'] = array('min' => $page - 4, 'max' => $page + 4);
         } elseif ($page < 5) {
             $return['jump'] = array('min' => 1, 'max' => 9);
         } else {
             $return['jump'] = array('min' => $page_info['max_page'] - 8, 'max' => $page_info['max_page']);
         }
         $page_info['current_page'] = $page;
         $start = $rowCount - self::PAGE_LIMIT * $page + 1;
         $end = $rowCount - self::PAGE_LIMIT * $page + self::PAGE_LIMIT;
         if ($start < 0) {
             $end = $rowCount - self::PAGE_LIMIT * $page + self::PAGE_LIMIT;
             $start = 1;
         }
         $logList = \SeasLog::analyzerDetail($level, $date, $key_word, $start, $end);
     }
     $i = 0;
     if (count($logList)) {
         foreach ($logList as $info) {
             if ($info == '::::::::::::::') {
                 continue;
             }
             $tmp = explode('|', $info);
             if (count($tmp) != 5) {
                 if (!count($data)) {
                     continue;
                 } else {
                     $data[$i - 1]['detail'] .= $info;
                     continue;
                 }
             }
             $data[$i]['level'] = trim($tmp['0']);
             $data[$i]['pid'] = trim($tmp['1']);
             $time = trim($tmp['3']);
             $data[$i]['time'] = $time;
             $data[$i]['detail'] = trim($tmp['4']);
             $i++;
         }
         krsort($data);
         $return['data'] = $data;
     }
     $return['page'] = $page_info;
     return $return;
 }