PHPackages                             kz370/scollio-logger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. kz370/scollio-logger

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

kz370/scollio-logger
====================

Laravel 11 HTTP traffic &amp; exception logger with AJAX dashboard and log rotation.

v1.0.0(1y ago)013MITBladePHP &gt;=8.2

Since Apr 10Pushed 6mo agoCompare

[ Source](https://github.com/kz370/scrollio-logger)[ Packagist](https://packagist.org/packages/kz370/scollio-logger)[ RSS](/packages/kz370-scollio-logger/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

🧩 Scollio Logger
================

[](#-scollio-logger)

**Scollio Logger** is a Laravel 11-compatible HTTP traffic and exception logger that automatically records incoming requests, responses, and exceptions — complete with a beautiful AJAX-powered dashboard, configurable middleware control, and automatic log rotation.

> Package: `kz370/scollio-logger`

---

📚 Table of Contents
-------------------

[](#-table-of-contents)

- [Features](#-features)
- [Requirements](#-requirements)
- [Installation](#-installation)
- [Publishing Assets](#-publishing-assets)
- [Configuration](#-configuration)
- [Environment Variables Reference](#-environment-variables-reference)
- [Middleware](#-middleware)
- [Request Logging](#-request-logging)
- [Dashboard](#-dashboard)
- [Log Rotation](#-log-rotation)
- [Table Schema](#-table-schema)
- [Screenshots](#-screenshots)
- [Troubleshooting](#-troubleshooting)
- [License](#-license)

---

🚀 Features
----------

[](#-features)

- 🧠 Automatic request, response, and exception logging
- 💾 Database-backed log storage (`scollio_logger` table)
- 🖥️ AJAX-powered dashboard with filters and pagination
- 🔐 Middleware alias + optional global registration
- ⚙️ Configurable exclusions, key filtering, and rotation
- 📅 Log retention and automatic cleanup via command
- 🧩 Modular configuration compatible with Laravel 11

---

🧩 Requirements
--------------

[](#-requirements)

RequirementMinimum Version**PHP**8.2**Laravel**11.x**Database**MySQL / PostgreSQL / SQLite / SQL Server---

📦 Installation
--------------

[](#-installation)

```
composer require kz370/scollio-logger
```

Then publish assets and run migrations:

```
php artisan vendor:publish --tag=scollio-logger-config
php artisan vendor:publish --tag=scollio-logger-migrations
php artisan vendor:publish --tag=scollio-logger-views
php artisan migrate
```

Once installed, Scollio Logger automatically registers its routes, views, and middleware.

---

🛠 Publishing Assets
-------------------

[](#-publishing-assets)

Asset TypeCommand**Config**`php artisan vendor:publish --tag=scollio-logger-config`**Migrations**`php artisan vendor:publish --tag=scollio-logger-migrations`**Views**`php artisan vendor:publish --tag=scollio-logger-views`---

⚙️ Configuration
----------------

[](#️-configuration)

All configuration values are found in `config/scollio-logger.php` and can be overridden using `.env` variables.

### Example Core Config

[](#example-core-config)

```
return [
    'enabled' => env('SCOLLIO_ENABLED', true),

    'dashboard' => [
        'enabled' => env('SCOLLIO_LOGGER_DASHBOARD_ENABLED', true),
        'route' => env('SCOLLIO_LOGGER_DASHBOARD_ROUTE', 'scollio-logs/dashboard'),
        'prefix' => 'scollio-logs',
        'middleware' => ['auth:sanctum', 'web'],
        'pagination' => env('SCOLLIO_LOGGER_DASHBOARD_PAGINATION', 25),
    ],

    'middleware' => [
        'global' => env('SCOLLIO_LOGGER_MIDDLEWARE_GLOBAL', true),
    ],

    'paginate' => env('SCOLLIO_PAGINATE', 15),
    'log_web_routes' => env('SCOLLIO_LOG_WEB_ROUTES', true),
    'log_api_routes' => env('SCOLLIO_LOG_API_ROUTES', true),

    'ignore_status_codes' => array_filter(array_map('intval', explode(',', env('SCOLLIO_IGNORE_STATUS_CODES', '302,304,419,429')))),
    'only_status_codes' => array_filter(array_map('intval', explode(',', env('SCOLLIO_ONLY_STATUS_CODES', '')))),

    'retention_days' => env('SCOLLIO_RETENTION_DAYS', 30),
    'rotation_every_minutes' => env('SCOLLIO_ROTATION_EVERY_MINUTES', 1440),
];
```

---

⚙️ Environment Variables Reference
----------------------------------

[](#️-environment-variables-reference)

**Category****Environment Key****Description****Default****Type****Core**`SCOLLIO_ENABLED`Enable or disable Scollio Logger globally`true``boolean``SCOLLIO_PAGINATE`Default pagination limit`15``integer`**Dashboard**`SCOLLIO_LOGGER_DASHBOARD_ENABLED`Enable or disable the dashboard route`true``boolean``SCOLLIO_LOGGER_DASHBOARD_ROUTE`Dashboard route URI`scollio-logs/dashboard``string``SCOLLIO_LOGGER_DASHBOARD_PAGINATION`Number of logs displayed per page`25``integer``SCOLLIO_LOGGER_MIDDLEWARE_GLOBAL`Register logger middleware globally`true``boolean`**Request Logging**`SCOLLIO_LOG_WEB_ROUTES`Log web routes`true``boolean``SCOLLIO_LOG_API_ROUTES`Log API routes`true``boolean``SCOLLIO_IGNORE_STATUS_CODES`Skip these status codes`302,304,419,429``string``SCOLLIO_ONLY_STATUS_CODES`Only log specific status codes*(empty)*`string`**Rotation**`SCOLLIO_RETENTION_DAYS`Number of days to keep logs`30``integer``SCOLLIO_ROTATION_EVERY_MINUTES`Minimum interval between rotations`1440``integer`---

### ✅ Example `.env`

[](#-example-env)

```
SCOLLIO_ENABLED=true
SCOLLIO_PAGINATE=15

# Dashboard
SCOLLIO_LOGGER_DASHBOARD_ENABLED=true
SCOLLIO_LOGGER_DASHBOARD_ROUTE=scollio-logs/dashboard
SCOLLIO_LOGGER_DASHBOARD_PAGINATION=25
SCOLLIO_LOGGER_MIDDLEWARE_GLOBAL=true

# Route Logging
SCOLLIO_LOG_WEB_ROUTES=true
SCOLLIO_LOG_API_ROUTES=true
SCOLLIO_IGNORE_STATUS_CODES=302,304,419,429
SCOLLIO_ONLY_STATUS_CODES=

# Rotation & Retention
SCOLLIO_RETENTION_DAYS=30
SCOLLIO_ROTATION_EVERY_MINUTES=1440
```

---

🧱 Middleware
------------

[](#-middleware)

Scollio Logger provides both a route middleware alias and an optional global middleware registration.

ModeDescriptionHow to Enable**Alias**Add `scollio-logger` to specific routesAlways available**Global**Automatically logs every requestControlled by config (`SCOLLIO_LOGGER_MIDDLEWARE_GLOBAL`)**Example Usage:**

```
Route::middleware(['web', 'scollio-logger'])->group(function () {
    Route::get('/dashboard', [DashboardController::class, 'index']);
});
```

---

🛰️ Request Logging
------------------

[](#️-request-logging)

When enabled, Scollio captures each request and response with metadata such as method, URL, status code, controller, and duration.

**Example Log Entry:**

```
{
  "method": "GET",
  "url": "https://example.com/api/users/5",
  "status_code": 200,
  "duration_ms": 152,
  "controller_action": "App\\Http\\Controllers\\UserController@show"
}
```

---

🚦 Dashboard
-----------

[](#-dashboard)

Visit your dashboard at:

```
/scollio-logs/dashboard

```

### Dashboard Features

[](#dashboard-features)

- Live AJAX search and filtering
- Filter by method, status, or message
- View full request and response payloads
- View exception details and traces
- Delete individual or all logs
- Auto-refresh every few seconds
- Protected by configurable middleware

---

🧹 Log Rotation
--------------

[](#-log-rotation)

Scollio includes an Artisan command for automatic cleanup:

```
php artisan scollio:rotate
```

This deletes logs older than the configured retention period.

```
SCOLLIO_RETENTION_DAYS=30
SCOLLIO_ROTATION_EVERY_MINUTES=1440
```

---

📄 Table Schema
--------------

[](#-table-schema)

Table name: `scollio_logger`

ColumnDescription`method`, `url`, `status_code`Request metadata`headers`, `body`, `response_headers`, `response_body`Serialized request/response data`exception_message`, `exception_trace`Exception info`requested_at`, `responded_at`, `duration_ms`Timing metrics`route_action`, `user_id`, `session_id`, `request_id`Contextual info---

🖼️ Screenshots
--------------

[](#️-screenshots)

 [![Scollio Logger Dashboard](https://raw.githubusercontent.com/kz370/scrollio-logger/refs/heads/main/dashboard-overview.jpeg)](https://raw.githubusercontent.com/kz370/scrollio-logger/refs/heads/main/dashboard-overview.jpeg) [![Single Log Entry View](https://raw.githubusercontent.com/kz370/scrollio-logger/refs/heads/main/log-detail.jpeg)](https://raw.githubusercontent.com/kz370/scrollio-logger/refs/heads/main/log-detail.jpeg)

🧩 Troubleshooting
-----------------

[](#-troubleshooting)

IssuePossible CauseRecommended Solution**No logs showing**Logging disabled, migrations not run, or middleware missing1. Ensure `.env` has `SCOLLIO_ENABLED=true`. 2. Run `php artisan migrate`. 3. If using alias, ensure routes include `scollio-logger`.**Dashboard 404**Routes not cached or dashboard disabled1. Run `php artisan route:clear`. 2. Ensure `SCOLLIO_LOGGER_DASHBOARD_ENABLED=true`. 3. Visit `/scollio-logs/dashboard`.**Old data not deleting**Rotation not scheduled1. Confirm `SCOLLIO_RETENTION_DAYS` and `SCOLLIO_ROTATION_EVERY_MINUTES`. 2. Add scheduler entry: `$schedule->command('scollio:rotate')->daily();`**Performance issues**Too much payload or high retention1. Lower retention days. 2. Exclude unnecessary routes using `skip_routes`.---

📜 License
---------

[](#-license)

Released under the [MIT License](LICENSE).

---

> 🧩 *Scollio Logger — Smart, structured, and searchable HTTP and exception logging for Laravel.*

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance59

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

397d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a83ad798b7fe8683b4388105008c4cf18937268bf490bc8379528d362cfc5117?d=identicon)[khaledz370](/maintainers/khaledz370)

---

Top Contributors

[![kz370](https://avatars.githubusercontent.com/u/94254886?v=4)](https://github.com/kz370 "kz370 (2 commits)")

### Embed Badge

![Health badge](/badges/kz370-scollio-logger/health.svg)

```
[![Health](https://phpackages.com/badges/kz370-scollio-logger/health.svg)](https://phpackages.com/packages/kz370-scollio-logger)
```

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[beyondcode/laravel-server-timing

Add Server-Timing header information from within your Laravel apps.

5712.0M1](/packages/beyondcode-laravel-server-timing)[rollbar/rollbar-laravel

Rollbar error monitoring integration for Laravel projects

14110.4M7](/packages/rollbar-rollbar-laravel)[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[kitloong/laravel-app-logger

Laravel log for your application

101.2M8](/packages/kitloong-laravel-app-logger)[label84/laravel-auth-log

Log user authentication actions in Laravel.

3654.0k](/packages/label84-laravel-auth-log)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
