AppSignal’s powerful log filtering system allows you to quickly search and filter through your application logs using an intuitive query syntax. Whether you need to find specific error messages, filter by severity levels, or search through custom attributes, our query language makes it easy to pinpoint exactly what you’re looking for in your logs.
Think of it like a search engine for your application’s logs. Here’s a simple example:
If you want to find all error logs, you can use:
severity=error
Or if you want to find logs containing the word “timeout”:
message:timeout
AppSignal supports log filtering by:
Search Syntax Explained
The below table explains the current AppSignal Logs search query syntax.
Queries can be combined with a space between them (see Combined Queries in Combining Multiple Queries).
Search Query Overview
Combining Multiple Queries
You can combine multiple queries by adding them together with spaces.
-
Find logs containing “error”:
message:error
-
Add filtering for a specific group:
message:error group="background jobs"
-
Exclude certain hostnames:
message:error group="background jobs" hostname!:test-server
Attribute Types
When filtering on custom log attributes using comparison operators (>, <, >=, <=), you must include a type suffix in the attribute name. Without the correct type suffix, the query will fail.
The supported type suffixes are:
Important: Do not include spaces around comparison operators when querying
attributes. For example, use attributes.duration_double>5.65 — not
attributes.duration_double > 5.65. Spaces will cause the query to fail.
Common Use Cases
-
Find all errors from a specific server:
severity=error hostname=production-web-1
-
Find slow database queries:
source=PostgreSQL attributes.duration_double>100.0
-
Debug failed background jobs:
group="background jobs" message:failed