cliqthemes / log-lens-core
Fast, local-first log dashboard and error tracker for Laravel, Horizon, nginx, and console logs.
Requires (Dev)
- phpunit/phpunit: ^11.5
Suggests
- ext-curl: Required only for outbound HTTP: the Linear, Alerting, and HTTP-ingest client plugins. The core dashboard and log ingestion work without it.
- ext-pdo_mysql: Only for the opt-in MySQL driver (LOG_LENS_DB_DRIVER=mysql). SQLite is the default and needs nothing extra.
- ext-pdo_pgsql: Only for the opt-in Postgres driver (LOG_LENS_DB_DRIVER=pgsql). SQLite is the default and needs nothing extra.
This package is not auto-updated.
Last update: 2026-08-22 15:40:52 UTC
README
The runnable, framework-free engine behind Log Lens: a fast, local-first log dashboard and error tracker for Laravel, Horizon, nginx access, and console logs. PHP + PDO, SQLite by default, no framework.
Log data stays on the machine running the app. One application is selected at a time, and each owns a completely isolated database and set of directories — never an aggregated view across applications.
To mount the same dashboard inside an existing Laravel app instead, use the
adapter: cliqthemes/log-lens.
Requirements
- PHP 8.2+ with
pdo,pdo_sqlite, andjson. - Nothing else at runtime. No Composer dependencies, and the React UI ships
pre-built under
public/ui/. - Optional:
curlfor the outbound-HTTP plugins (Linear, Alerting, HTTP ingest);pdo_pgsqlorpdo_mysqlfor the opt-in Postgres/MySQL drivers.
Run
Serve public/:
php -S 127.0.0.1:8787 -t public
The first launch creates a default application, its SQLite database under
storage/, and logs/, processed/, and sources/ directories. Drop log
files into logs/ and press Process logs, or import in place:
php bin/import.php --app=default /path/to/laravel.log
What it does
- Parses Laravel, Horizon (both the logging-stack framing and raw
queue:workconsole output), nginx access logs, and arbitrary console output. Hosts can register their own parsers. - Groups recurring events into fingerprinted issues with a workflow status, an immutable status history, tags, modules, and assignment — while keeping the raw byte range so the original event text is always retrievable.
- Pulls logs incrementally from a local directory or over SSH, with byte-offset checkpoints, rotation handling, a background worker, and a scheduled drain.
- Extends through opt-in plugins: Linear, Alerting, HTTP ingest, release tracking with source maps, and access-log analytics.
- Captures first-hand errors over
POST ?api=ingest, with PHP and browser SDKs.
Install
git clone https://github.com/cliqthemes/log-lens-core.git log-lens cd log-lens && php -S 127.0.0.1:8787 -t public
Or as a Composer dependency, if you are embedding the engine:
composer require cliqthemes/log-lens-core
Documentation
Full documentation: https://docs.log-lens.cliqthemes.com/
Getting Started · Architecture · Configuration · Deployment · API reference · Database drivers · Security
Tests
composer install # PHPUnit only composer test composer lint
The cross-engine smoke suites under tests/smoke/ need a live Postgres or MySQL
(or, for the two SQLite ones, nothing at all) — see their file headers.
MIT licensed. Release history: CHANGELOG.md and releases. Bugs, requests, and security advisories for both packages go to cliqthemes/log-lens.