Getting Started
This covers the standalone deployment. To run inside an existing Laravel app, see Laravel Package.
Requirements
- PHP 8.2+ with
pdo,pdo_sqlite, andjsonextensions. SQLite is the default, zero-config storage engine; Postgres and MySQL are supported opt-in alternatives (pdo_pgsql/pdo_mysql) — see Database drivers. - No Composer packages are required at runtime, and the dashboard ships pre-built, so no Node/npm step either.
Get it
Clone the engine — the published cliqthemes/log-lens-core package — or unpack
a tarball from its releases:
git clone https://github.com/cliqthemes/log-lens-core.git log-lens
cd log-lens
That repository is a read-only mirror of a private monorepo, where the same engine lives at
packages/core/. Contributing explains the layout, the builds, and the test suites; bugs and requests go to issues.
Run
Serve the public/ directory:
php -S 127.0.0.1:8787 -t public
Open http://127.0.0.1:8787. On a local .test-style host (Laravel Herd or
Valet, say), point that site's document root at public/ instead.
The first launch creates a default application backed by
storage/log-analyzer.sqlite, along with logs/, processed/, and sources/
directories. Nothing needs migrating by hand.
Ingest your first logs
Two ways:
-
Drop files into
logs/and click Process logs in the dashboard header (orPOST /?api=import-incoming). Imported files are moved toprocessed/. -
CLI import (streams in place, does not move files):
php bin/import.php --app=default /path/to/laravel.log
A first-level subdirectory under logs/ becomes a module - e.g.
logs/billing/laravel.log is assigned to a Billing module. See
Core Concepts.
Only ERROR and WARNING are ingested by default; change this under
Settings to Ingestion or in config.
Next steps
- Lock down access before exposing it anywhere: Security.
- Pull logs from remote hosts: Connectors.
- Let an agent fix issues: AI Skills.