Applications and isolation
An application is a fully self-contained workspace inside Log Lens. Each one owns its own database and its own set of directories, so logs, issues, tags, and connectors from one application never mix with another's. If you run several projects - or separate staging from production - each gets its own private view.
What each application owns
Every application is described by an id (a URL-safe slug) and a display name, plus a dedicated set of paths:
| Path | Purpose |
|---|---|
database | The application's own SQLite database |
logs | Where incoming log files land |
processed | The processed archive |
sources | Connector source snapshots |
New applications are created under applications/<id>/, each with its own log-lens.sqlite, logs, processed, and sources folders. Because every application queries a separate database, there is no cross-application data - searches, summaries, and the JSON API always answer for a single application at a time.
The registry itself lives at storage/applications.json. The first application is a reserved default named "Primary application" (id default), which maps to the original single-workspace layout.
Creating applications
When you add an application:
- The name must be 1-100 characters.
- The id is slugified: lowercased, with runs of non-alphanumeric characters turned into hyphens, and must be 1-64 characters.
- The id
defaultis reserved and cannot be reused. - Ids must be unique - a duplicate is rejected.
Its directories are created automatically the moment it is registered.
Selecting an application
Requests resolve to a single application by id. Omitting the id falls back to the first (default) application; passing an id that does not exist returns an error. This keeps every operation explicitly scoped.
Moving a workspace
If you relocate the Log Lens workspace on disk, stored file paths can go stale. Log Lens detects the change and automatically repairs processed and sources paths by re-matching each record against the new directories (confirmed by byte size), so indexed logs keep resolving without a reindex. See Automatic workspace path repair.