public function __construct() { \Seaslog::setBasePath(C("LOG_PATH")); \Seaslog::setLogger("Home"); }
/** * @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; }