Ця інструкція описує, як підʼєднати Aprog Logs до Laravel-проєкту та як додати API-роути для перегляду логів за допомогою бібліотеки uaproger/aprog.
🔗 Офіційна сторінка бібліотеки на Packagist: https://packagist.org/packages/uaproger/aprog
Додайте наступний код у ваш основний 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 — секретний токен для захисту логів
Для коректної роботи бібліотеки необхідно додати 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/aprogroute_log($filename) — хелпер з бібліотеки uaproger/aproglogs_token перевіряє заголовок X-Logs-Token
Після підʼєднання:
Також лог-вʼювер можна відкрити програмно:
AprogLogs.open();
<script>2026 © Aprog Logs · Internal Dev Tool