Logs · Guides
Read one request's lines
Every line one HTTP request wrote, with the jobs it queued, in the order they came.
How lines get a request id
The SDK gives every HTTP request an id, and every line the request writes carries it:
- When a proxy in front of your app sets
X-Request-Id, that id is kept if it fits: 8 to 64 letters, digits and. _ : -. Otherwise the SDK makes a new one. - The id goes back on the response under the same header, so whoever saw a problem can quote it.
- The jobs the request queues carry it too, through Laravel's hidden Context, so their lines are part of the request's.
- Each artisan command run gets an id of its own, and so does a queued job that came without one.
The header's name is a setting, MYBEAST_LOGS_REQUEST_ID_HEADER, for a proxy that uses another one.
Open a request
- In the search or the live view, click a line's request.
- On a line's page, click its request id.
- Paste an id into the search at the top of any page of
services.my-beast.com(⌘K): it finds the request in every project you can see. - Put the id in the search's Request id field, to narrow it further by level or text (see Search your logs).
What the page shows
- What was running, such as
POST /invoices/{invoice}/send, and the request's id to copy. - When it started, and how long it took from its first line to its last.
- Where it ran: the environment, the servers and the release.
- How many lines it wrote of each level.
- Every line, oldest first, with how long after the first each came. The page shows up to 2,000 lines; the search has the rest.
Everyone's lines then searches every line of the environment from 5 minutes before the request's first line to 5 minutes after. In the search opens the search narrowed to the request, and Copy link copies the page's address.
The same request in other products
The Errors and Sessions SDKs take the same request id, so the products can find each other's view of one request. When your project has them, the request's page shows, among its lines at their moment, what they have of it: an error from Errors, the step in Sessions with the person's recording, an incident open then. An issue's page in Errors opens the lines of its event's request in turn.
What can go wrong
- “No line of this request is kept.” Its lines are older than the environment keeps them, or the id is another project's.
- Two requests show together. Your proxy gave them the same
X-Request-Id. Give each request its own, or leave the header to the SDK. - A job's lines aren't with its request. Only jobs queued while the request ran carry its id. A job queued by a command carries the command's.