Example #1
0
function get_lines_from_file($file_, $nb_lines, $allowed_types)
{
    // Add false to the array to get mismatch log lines
    // $allowed_types[]= false;
    $lines = array();
    $obj = new FileTailer($file_);
    $qty = 0;
    while ($obj->hasLines()) {
        $ret = $obj->tail(1);
        $line = $ret[0];
        $type = parse_linux($line);
        if (!in_array($type, $allowed_types)) {
            continue;
        }
        array_unshift($lines, '<span class="' . $type . '">' . trim($line) . '</span>');
        $qty++;
        if ($qty >= $nb_lines) {
            break;
        }
    }
    return $lines;
}
Example #2
0
 public function getLog($nb_lines_ = NULL)
 {
     if (is_null($nb_lines_) || !is_numeric($nb_lines_) || $nb_lines_ == 0) {
         return @file_get_contents($this->logsdir . '/' . date('Ymd') . '.log');
     } else {
         $obj = new FileTailer($this->logsdir . '/' . date('Ymd') . '.log');
         return $obj->tail_str($nb_lines_);
     }
 }
Example #3
0
 public function log_preview()
 {
     $this->check_authorized('viewStatus');
     $logfiles = glob(SESSIONMANAGER_LOGS . '/*.log');
     $logfiles = array_reverse($logfiles);
     $ret = array();
     foreach ($logfiles as $logfile) {
         $obj = new FileTailer($logfile);
         $lines = $obj->tail(20);
         $ret[basename($logfile)] = $lines;
     }
     $servers = Abstract_Server::load_all();
     $ret['servers'] = array();
     foreach ($servers as $server) {
         $buf = new Server_Logs($server);
         $buf->process();
         $lines = $buf->getLog(20);
         if ($lines !== false) {
             $ret['servers'][$server->id] = explode("\n", $lines);
         }
     }
     return $ret;
 }