Your logs, finally worth reading.
Stream every log line from your app into a fast, searchable UI. Filter by level, search messages, and inspect structured context instead of tailing a file.
// config/logging.php
'channels' => [
'loghq' => ['driver' => 'loghq'],
'stack' => ['channels' => ['single', 'loghq']],
]
// then log as you already do
Log::info('order placed', ['order_id' => 42])
Log::warning('inventory low', ['sku' => 'ABC-1'])
// every line streams to loghq: searchable, filterable, live
From scattered log files to one live stream.
Every level, captured
One log channel ships debug through emergency: all eight severities, with their structured context.
View featureFilter by severity
Threshold the stream to warnings-and-up, errors-and-up, or a single level. Signal without the noise.
View featureReleases and environments
Every line is tagged with its environment and release, so you can scope the stream to one deploy.
View featureStructured context
Expand any line to see its full JSON context (ids, timings, payloads), pretty-printed, not flattened.
View featureSearch everything
Full-text search across every message, scoped by level and time window. Find the one line that matters.
View featureSelf-hosting
Open source, on your own Postgres. Sensitive log data never leaves your servers.
View featureLive in three steps.
Install
Add the loghq log channel to your app. One line in your logging config wires up the stream.
Log
Keep logging exactly as you do today. Every Log call is shipped to loghq in the background.
Stream
Watch lines land live, filter by level and time, search messages, and inspect structured context.
Open source, and yours to run. Host loghq on your own Postgres so sensitive log data never leaves your infrastructure, or start on the hosted tier in a minute.
Read about self-hostingStop tailing log files.
Not ready to sign up?
Leave an address and we will send a note when loghq is ready. No newsletter, no drip sequence.