Как просмотреть журнал ошибок PHP или Apache онлайн в браузере?

есть ли способ просмотреть журналы ошибок PHP или Apache в веб-браузере?

Я нахожу неудобным ssh на несколько серверов и запускаю команду "хвост", чтобы следовать журналам ошибок. Есть ли какой-то инструмент (предпочтительно с открытым исходным кодом), который показывает мне журналы ошибок онлайн (потоковое или не потоковое?

спасибо

6 ответов



вы хорошо делаете скрипт, который читает журналы ошибок из apache2..

$apache_errorlog = file_get_contents('/var/log/apache2/error.log');

если он не работает.. попытка получить его с помощью функций php exec или shell_exec и команда ' cat/var/log/apache2 / error.log'

EDIT: если у вас есть несколько серверов(я quess с веб-серверами на нем), вы можете создать файл на машине, когда вы делаете запрос на этот скрипт (хэшированное соединение), вы получаете журналы с этого сервера


Так как все предлагают ясность, Я также хотел бы упомянуть tailon. Я написал tailon как более современная и безопасная альтернатива ясность. Он все еще находится на ранних стадиях разработки, но функциональность, которая вам нужна, есть. Вы также можете использовать wtee, Если вас интересует только один файл журнала.


простой php код для чтения журнала и печати:

<?php

  exec('tail /var/log/apache2/error.log', $error_logs);

  foreach($error_logs as $error_log) {

       echo "<br />".$error_log;
  }

 ?>

вы можете встроить переменную php error_log в html в соответствии с вашим требованием. Лучшая часть tail команда загрузит последние ошибки, которые не будут слишком загружаться на ваш сервер.

вы можете изменить tail дать выход, как вы хотите

Ex. tail myfile.txt -n 100 / / Он даст последние 100 строк


Я нашел это решение https://code.google.com/p/php-tail/

он работает отлично. Мне нужно было только изменить размер файла, потому что сначала я получал ошибку.

56       if($maxLength > $this->maxSizeToLoad) {
57                $maxLength = $this->maxSizeToLoad;
58                // return json_encode(array("size" => $fsize, "data" =>   array("ERROR: PHPTail attempted to load more (".round(($maxLength / 1048576), 2)."MB) then the maximum size (".round(($this->maxSizeToLoad / 1048576), 2)    ."MB) of bytes into memory. You should lower the defaultUpdateTime to prevent this from happening. ")));
59       }

и я добавил размер по умолчанию, но он не нужен

125       lastSize = <?php echo filesize($this->log) || 1000; ?>;

Я знаю, что этот вопрос немного старый, но (наряду с отсутствием хороших вариантов) он дал мне идею создать это крошечное (с открытым исходным кодом) веб-приложение. https://github.com/ToX82/logHappens. Его можно использовать онлайн, но я бы использовал .htpasswd как базовая система входа в систему. Надеюсь, это поможет.