What could Better Stack tell you about a missing receipt?
The order screen says a receipt is on its way, but none arrives. Better Stack can put the website’s note that it requested a receipt next to the background worker’s note that it could not create the file.
A log is a short, timestamped note about what happened. A background worker is the part of your app that handles work after the visitor’s screen moves on. Your app has to write and send each note. Give both notes a shared random label for that attempt, so you can distinguish one order from another without including a customer’s details.
Older guides may call Better Stack’s logging product Logtail.
What should you check before connecting the app?
Start with a test copy that uses made-up order records and a test file destination. Disable email or route it only to a test inbox you control. Run the receipt step without collecting a payment.
Keep broad log forwarding and automatic console capture off for this exercise. Before turning on either test sender, ask your coding agent or developer to capture the actual record it would send in a local test. Check for fields attached automatically as well as the fields you chose. For this exercise, approve only the time, random attempt label, step name and an outcome from a short list. Keep email addresses, payment details, login credentials, full web addresses and raw error messages out.
In Better Stack, set up a test source for the website and another for the worker. A source tells Better Stack where a stream of records comes from. Keep each sender’s credential in protected server settings. If you cannot verify the connected services, practise the search with two invented notes from a test sender without running an order or receipt.
How do you check what happened to one receipt?
Open Live Tail, Better Stack’s view of arriving records. Select your test sources and search for the shared attempt label. Open both notes to confirm which step each one reports and which details arrived.
For example, if the website logged “receipt requested” and the worker logged “file creation failed,” start with the worker’s file step. If only the first note is visible, check the selected source and time range, then check whether the worker sent a note and whether Better Stack accepted it.
Better Stack’s HTTP log intake can refuse records once a free-plan quota or spending limit has been reached. An empty search during an intake gap tells you little about what the worker did. Verify the delivered file or controlled inbox separately when checking that a fix worked.
What does Better Stack charge for logs?
Better Stack lists separate rates for the amount of log data it receives and the amount it keeps available for later searches.
Better Stack publishes different rates for other regions. Check your account’s region and billing currency before forwarding production traffic. Standard querying is listed as included, with a faster search option priced separately by the amount of data it scans. Uptime checks and error reports have their own allowances.
| What you use | Published allowance or rate |
|---|---|
| Personal-project allowance | $0 per month, with 3 GB of logs per month kept for 3 days |
| Receiving logs, called ingestion | $0.10 per GB received in Germany |
| Keeping logs, called retention | $0.05 per GB per month in Germany |
What if you need to know whether a job ran on time?
A heartbeat monitor expects a signal from a scheduled job. It can alert you when the signal is late. The logs help you see which steps the job recorded.
Before the first signal, confirm the heartbeat can notify only a test destination you control. Better Stack starts watching when it receives that signal. The interval and the extra time you allow determine when a missing signal becomes an incident. Keep the signal address private and have the job send the signal after it finishes the work you care about. In the test copy, verify a completed run, then let a signal go missing and check that the alert arrives.
How can you take log records with you?
A developer can use Better Stack’s read-only query interface to save selected log records as JSON, a text format that keeps the names and values of each field.
Limit the query connection to the teams whose logs you need and keep its credential private. The connection can read every source in each selected team, even when your query asks for a few fields. Choose the sources, time range and fields to export. The query instructions distinguish recent and older storage, so include both where your time range requires it. Check the saved file and export needed records before they age out.
For longer-term storage you control, Better Stack documents a paid option that writes to an object storage bucket, a place to keep files. Use a dedicated bucket when you create the source, and opt in if you need to keep files after the source’s retention period. The Cloudflare R2 setup needs access to write, read and delete a test file even with that option enabled. The bucket files use ClickHouse Native format, which needs a compatible reader or conversion to JSON. Check that you can read a sample file and keep a separate record of queries and alert settings you would need to recreate.