Log Lens Documentation
Fast, local-first SQLite log dashboard and error tracker for Laravel, Horizon, nginx, and console logs - a dashboard and JSON API that group recurring events into stable issues, preserve raw evidence, and drive an investigation workflow. It runs standalone or mounts inside a Laravel app.
These docs cover both: the narrative "how it works" pages, and the full per-endpoint API reference — see API conventions & endpoint index.
How-to guides
Task-focused guides for the common jobs:
- Add Log Lens to a Laravel app
- Import your logs
- Find a specific error
- Investigate and resolve an issue
- Sync logs from a remote server
- Automate log syncing
- Organize issues with tags
- Require login or an API key
Features
A dedicated explainer for each capability - applications, issues & fingerprints, normalization, the SSH connector, tags & rules, retention, API-key auth, and ~20 more — grouped by topic (Concepts, Connectors, Plugins, Maintenance, Security & access, ...) rather than one single section of the sidebar.
Reference
Configuration / environment variables / API conventions / per-endpoint pages / status codes / database schema / database drivers / roles & assignment / CLI & Artisan / glossary.
Start here
- Getting Started - requirements, install, run, first ingestion.
- Core Concepts - applications, modules, issues, occurrences, fingerprints, workflow, tags.
- Configuration - every setting in
config.php/.env.
Using it
- Ingestion & Formats - supported logs, parsers, severities, reindex.
- Connectors - local-directory and SSH sync, dedup, scheduling.
- Maintenance - scoped deletion and processed-archive retention.
- AI Skills - the Claude Code / Codex issue-resolution skills.
Plugins
Everything past the core dashboard is an optional, per-application toggle - see Plugins overview for the toggle model, then the plugin you need:
- Alerting - Slack/Discord/webhook notifications on new errors, reoccurrences, and spikes.
- Release tracking - record deploys, attribute issues to releases, link source frames to your code host (with the real limitations of that link explained).
- Linear integration - pull matching Linear issues in and mirror status back.
- HTTP ingest + capture SDKs - push events over HTTP instead of writing a log file; Laravel, generic PHP, and browser clients.
- Access-log analytics - a traffic/status-code/top-path view over nginx access logs you already parse.
Deploying & integrating
- Security - trust model, the optional API key, cross-origin guard.
- Deployment - Herd,
php -S, reverse proxies, production hardening. - Laravel Package - install the dashboard inside a Laravel app.
Internals
- Architecture - monorepo layout, core vs. adapter, the request/response kernel.
- API Reference - endpoint index, auth, status codes.
- Contributing - dev setup, tests, builds, schema changes.
- Troubleshooting - 401 / 403 / 419, blank UI, and other gotchas.
Paths in these docs
Commands and file paths are written for a standalone install, where the
engine's files — public/, bin/, config.php, logs/ — sit at the root of
what you downloaded. In the monorepo Log Lens is developed in, the same tree
lives under packages/core/, so prefix accordingly. Pages about developing Log
Lens itself (Contributing, Architecture)
use the monorepo layout throughout.
At a glance
| Backend | PHP 8.2+, PDO SQLite, zero runtime dependencies |
| Frontend | React + Vite + Tailwind, built into packages/core/public/ui/ |
| Packages | cliqthemes/log-lens-core (standalone engine, repo) / cliqthemes/log-lens (Laravel adapter, repo) |
| Data | one SQLite DB per application; raw event bodies kept as byte ranges in archived files |
| License | MIT |