Как просмотреть журнал ошибок PHP или Apache онлайн в браузере? - PullRequest
10 голосов
/ 30 октября 2011

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

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

Спасибо

Ответы [ 7 ]

8 голосов
/ 30 октября 2011

См. Какие коммерческие и открытые конкуренты существуют для Splunk? , и я бы порекомендовал https://github.com/tobi/clarity

Простой и легкий инструмент.

7 голосов
/ 05 июня 2013

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

5 голосов
/ 11 августа 2017

Простой 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 строк

5 голосов
/ 30 октября 2011

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

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

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

РЕДАКТИРОВАТЬ: Если у вас есть несколько серверов (я думаю, с веб-серверами на нем), вы можете создать файл на машине, когда вы делаете запрос к этому сценарию (хэшированное соединение), вы получаете журналы с этого сервера

1 голос
/ 02 июня 2019

Я рекомендую LogHappens: https://loghappens.com, он позволяет просматривать журнал ошибок в Интернете, и это выглядит так:

LogHappens поддерживает видыформата журнала веб-сервера, он поставляется с анализами для Apache и CakePHP, и вы можете написать свой собственный.

Вы можете найти его здесь: https://github.com/qijianjun/logHappens

Это с открытым исходным кодом и бесплатно, яразделили его и сделайте некоторую работу, чтобы сделать его лучше в dev env или public env.То есть:

  • Поддержка токена для безопасности, невозможно получить доступ к сайту без токена в config.php
  • Поддержка IP белых списков для безопасности и конфиденциальности
  • Sopport config интервал между запросами ajax
  • Поддержка загрузки статических файлов из локальных (для локального dev env)
1 голос
/ 07 апреля 2017

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

1 голос
/ 12 июня 2013

Я нашел это решение 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; ?>;
...