AppSignal Logging: Query, Chart, and Alert on Your Logs
AppSignal logging puts your log lines next to errors, traces, and host metrics. Find the right line, understand what happened around it, and share a deep link with the next person on call.
Let your logs answer your questions
Grep fatigue is real. SSH into a box, tail a file, lose the thread. Separate log tools add cost and still leave you correlating timestamps by hand when something breaks.
With AppSignal Logging you can answer questions like:
What errors are showing up in my logs, and where are they triggered?
What log lines preceded this exception?
How did severity volume change around the incident?
Can I jump from a log line to the slow action or trace from the same request?
How often is this actually happening, and is it getting worse?
Ingest logs from your stack
Send logs from your Ruby, Elixir, or Node.js integration. As well as those integrations, we support logs from platforms, drains, and endpoints including:
CloudWatch
Clever Cloud
Gigalixir
Heroku
Netlify
Render
Scalingo
Vector
Vercel
HTTP
Syslog
AppSignal creates a view per logging source automatically.
The filter bar is still quick to learn: combine severity, source, and text search to find relevant lines in seconds. But the query language underneath it now goes a lot further.
Build precise filters with native AND, OR, and nested grouping. Reach into JSON with dot notation and array indexing. Use any comparison operator, not just exact matches, so a query like severity=error duration_ms>2000 takes you straight from "something went wrong" to "here's exactly where and why."
Find production errors fast: severity=error environment=production
Zoom in on one user: severity=error environment=production user.id=12345
Spot a noisy endpoint: severity=warning OR severity=error path="/checkout"
A page-wide chart shows logging volume and severities over time. Select a bar to jump to that timestamp in your log stream. Save custom filters as views for recurring investigations.
Expand a log line to copy JSON metadata, open What Happened Here for a snapshot of metrics at that moment, or follow the link to Time Detective when you need more context.
A lot of what's useful in a busy log source isn't the line itself. It's a count, a rate, or a measurement: 5xx responses per minute, p95 request duration, failed logins per user.
Log-based metrics let you extract that signal at ingestion, using the same query syntax you already use for search:
Count tracks how often something happens, like a failed login or a timed-out job.
Gauge captures the value of an attribute at the moment a line comes in, like queue depth or free disk space.
Measurement builds a histogram of a numeric attribute over time, like request duration or payload size.
Create one straight from a log line: open the details panel, pick a numeric attribute, and select Create a metric. Once it's saved, it shows up on dashboards and in anomaly detection alongside every other AppSignal metric.
Triggers work the same way for alerting. Set a query, scope it to a severity or a specific log source, and choose how you want to be notified. No need to wait for someone to notice a spike in the log stream themselves.
Both metrics and triggers can run as ingestion-time actions, before you filter anything out. That means you can drop noisy debug lines and still keep the error rate, the latency trend, or the alert that would have told you something was wrong.
An exception tells you what failed. The log lines before it tell you why. In AppSignal, those are one workflow apart, and now the metric or alert that flagged it in the first place is too.
Jump from a log line to the error, slow action, or trace from the same request.
Ready to enable your AI workflow
AppSignal Intelligence brings production data into the tools you already use. Point your AI editor at our hosted MCP endpoint, or use the CLI from your terminal. Ask about logs, metrics, and triggers the same way you'd ask about incidents or traces, no duplicate setup.