📜 Інструкція підʼєднання Aprog Logs

Ця інструкція описує, як підʼєднати Aprog Logs до Laravel-проєкту та як додати API-роути для перегляду логів за допомогою бібліотеки uaproger/aprog.

🔗 Офіційна сторінка бібліотеки на Packagist: https://packagist.org/packages/uaproger/aprog

1️⃣ Підʼєднання CSS та JavaScript

Додайте наступний код у ваш основний Blade-шаблон (layouts/app.blade.php або аналогічний).

<link rel="stylesheet" href="https://logs.alexproger.com/aprog-logs.css">
<script>
    window.AprogLogsConfig = {
        apiBase: "{{ config('app.url') }}",
        headers: {
            "X-Logs-Origin": "{{ str_replace(['https://', 'http://'], '', config('app.url')) }}",
            "X-Logs-Token": "{{ config('app.log.token') }}"
        },
        btn: {
            theme: "dark", // or nothing
            text: "Logs" // any or nothing
        }
    };
</script>
<script src="https://logs.alexproger.com/aprog-logs.js" defer></script>
Примітка:
apiBase — базовий URL вашого Laravel-проєкту
X-Logs-Origin — домен, з якого дозволено доступ
X-Logs-Token — секретний токен для захисту логів

2️⃣ Додавання API-роутів у Laravel

Для коректної роботи бібліотеки необхідно додати API-роути для отримання списку логів та конкретного файлу.

У прикладі нижче використовуються готові хелпер-функції route_logs() та route_log(), які надаються бібліотекою uaproger/aprog (див. сторінку пакета на Packagist).

# LOGS
Route::group(['middleware' => 'logs_token'], static function () {
    Route::get('/logs', fn() => route_logs());
    Route::get('/logs/{filename}', fn($filename) => route_log($filename));
    Route::delete('/logs/{filename}', fn($filename) => route_remove_log($filename));
});
Пояснення:
route_logs() — хелпер з бібліотеки uaproger/aprog
route_log($filename) — хелпер з бібліотеки uaproger/aprog
• middleware logs_token перевіряє заголовок X-Logs-Token

3️⃣ Використання

Після підʼєднання:

Також лог-вʼювер можна відкрити програмно:

AprogLogs.open();

✅ Підсумок

2026 © Aprog Logs · Internal Dev Tool