MESSAGES DE LOG

Html->link(" [$info_level] ", ['action' => "logs?level=$info_level"]); echo '
'; foreach ($error_levels as $error_level) echo $this->Html->link(" [$error_level] ", ['action' => "logs?level=$error_level"]); ?>

pwd() . DS . '..' . DS . 'logs' . DS . $logfile_name.'.log'; $nblines_to_read = 5000; /* $f = fopen($logfile_path, "r") or die("Unable to open file!"); //echo fgets($f); while(!feof($f)) { echo fgets($f) . "
"; } fclose($f); */ // On va direct à la fin du fichier try { $f = new SplFileObject($logfile_path, "r"); } catch (Exception $e) { echo("Le fichier de log '/logs/".basename($logfile_path)."' n'existe pas encore..."); return; } $f->seek(PHP_INT_MAX); $last_line = $f->key(); // Lire TOUT le fichier //$lines = new LimitIterator($f, 0, $last_line); // Lire seulement les $nblines_to_read dernières lignes $line_num_from = max(0,$last_line-$nblines_to_read); $lines = new LimitIterator($f, $line_num_from); //$lines = new LimitIterator($f, $last_line-$nblines_to_read, $last_line); //print_r(iterator_to_array($lines)); // Inversion des lignes pour affichage anti-chrono $lines_reversed = array_reverse(iterator_to_array($lines)); $level = ucfirst($level); foreach ($lines_reversed as $line) { if (mb_strpos($line, "$level: ") !== FALSE) echo $line.'

'; //if (mb_strpos($line, 'Info: ') !== FALSE) echo $line.'

'; //if (mb_strpos($line, '/materiels/edit/') !== FALSE) echo $line.'

'; } // Close file $f=null; ?>