'/var/www/fastuser/data/www/crm.clientright.ru/logs/debug_upload_server.log', 'debug' => '/var/www/fastuser/data/www/crm.clientright.ru/logs/debug.log', 's3' => '/var/www/fastuser/data/www/crm.clientright.ru/logs/s3_storage.log', 'vtigercrm' => '/var/www/fastuser/data/www/crm.clientright.ru/logs/vtigercrm.log', 'php' => '/var/log/php_errors.log' ]; if (!isset($logFiles[$logType])) { echo "Неизвестный тип лога: $logType\n"; echo "Доступные типы: " . implode(', ', array_keys($logFiles)) . "\n"; exit; } $logFile = $logFiles[$logType]; if (!file_exists($logFile)) { echo "Лог файл не найден: $logFile\n"; echo "Возможно, еще не было записей в этот лог.\n"; exit; } if (!is_readable($logFile)) { echo "Нет прав на чтение файла: $logFile\n"; exit; } // Читаем последние N строк $output = []; $command = "tail -n $lines " . escapeshellarg($logFile); exec($command, $output, $returnCode); if ($returnCode !== 0) { echo "Ошибка чтения файла: $logFile\n"; exit; } if (empty($output)) { echo "Лог файл пуст или не содержит записей.\n"; echo "Файл: $logFile\n"; echo "Размер: " . filesize($logFile) . " байт\n"; echo "Последнее изменение: " . date('Y-m-d H:i:s', filemtime($logFile)) . "\n"; exit; } // Выводим заголовок echo "=== ЛОГ: $logType ===\n"; echo "Файл: $logFile\n"; echo "Размер: " . filesize($logFile) . " байт\n"; echo "Последнее изменение: " . date('Y-m-d H:i:s', filemtime($logFile)) . "\n"; echo "Показано последних строк: " . count($output) . "\n"; echo str_repeat('=', 80) . "\n\n"; // Выводим содержимое foreach ($output as $line) { echo $line . "\n"; } // Добавляем информацию о времени генерации echo "\n" . str_repeat('=', 80) . "\n"; echo "Сгенерировано: " . date('Y-m-d H:i:s') . "\n"; ?>