for phpBB 3.0.x, 3.1.x
copyright (c) 2015 c61 c61@yandex.ru http://c61.su
license http://opensource.org/licenses/gpl-license.php GNU Public License
serverlogs: Просмотр последних записей текстовых логов сервера админом phpBB
Данный скрипт предназначен для разработчиков модов phpBB 3.0.x и расширений 3.1.x.
Могут быть просмотрены последние записи любых текстовых логов сервера, к которым есть доступ из php-скриптов.
Порой при отладке крайне неудобно просмативать логи посредством ftp-клиента или сторонней программой, на это тратится много времени, логи могут быть чрезвычайно большого размера и тд и тп... Проще запустить свой скрипт.
Обычно требуется небольшое количество записей логов - около 100 или немногим больше. При этом лично мне часто требуются как минимум два лога плюс дополнительные в зависимости от решаемой задачи:
- лог доступа к страницам (например, apache access log);
- лог ошибок php;
- например, для apache вышеперечисленных логов может быть несколько - свой для заданного каталога (что задается, например, в .htaccess);
- лог программы отправки почты (например, msmtp);
- лог ошибок 500 (да-да, при желании можно сделать и такой лог);
- логи MySQL;
- и много прочего, даже некоторые системные текстовые логи.
Установка
Перепишите файл в корневой каталог конференции и запускайте...
В robots.txt рекомендуется добавить запрет индексирования (disallow) этого файла.
Настройка
Просто редактируете код:
Код: Выделить всё
// Задайте здесь список логов
$logs[] = array(
'name' => 'PHP error log',
'file' => 'C:\Server\web\apache\logs\error.log',
'last' => 100,
);
$logs[] = array(
'name' => 'Apache access log',
'file' => 'C:\Server\web\apache\logs\access.log',
'last' => 100,
);
// Обратная шкала времени (новые записи лога вверху)
$reverse = true;
Скриншоты:
Тема на моей тестовой площадке тынц
P.S. В скрипте php использована функция чтения строк с конца текстовых файлов ( Read a file in reverse order ), оптимизированная для больших файлов. Оригинал с огромным количеством багов был найден где-то на просторах интернета и переделан.