How to Set Up Structured Logging in Production
Plain-text logs turn every incident into a grep marathon. Here is how to move to structured logging in production without breaking what already works.
All categories
More categories
Backtrace
Author
Senior Backend Engineer
8+ years experience
Paige Donnelly is a senior backend engineer who has spent the last eight years working on distributed systems, first at a mid-size fintech and then leading a payments infrastructure team through a migration from a monolith to event-driven services. She's on the losing end of more 3am pages than she'd like to admit, which is why she writes about observability, deployment safety, and API design with an eye toward what actually breaks in production rather than what looks good in a conference talk. She contributes to a couple of open-source CLI tools in her spare time and still refuses to use a debugger for anything she can solve with well-placed logs.
Plain-text logs turn every incident into a grep marathon. Here is how to move to structured logging in production without breaking what already works.
Paige Donnelly · · 8 min read
A timeout does not tell you whether the request worked. Idempotency keys let clients retry without charging a customer twice.
Paige Donnelly · · 8 min read
JDK 27 changes two defaults that can move your heap numbers and pause times. Here is how to test them before the upgrade reaches production.
Paige Donnelly · · 7 min read
OVHcloud's CLI releases were swapped for malware because immutability was off. Here is what the setting locks and how to enable it without breaking releases.
Paige Donnelly · · 8 min read
Docker Engine 29.9.0 and 29.9.1 landed within a week, bundling HTTP/2 daemon fixes and three containerd advisories. Here is how to roll them out safely.
Paige Donnelly · · 7 min read
Go 1.27.3 shipped October 19 with a security fix. Before you bump the toolchain, check what the stricter JSON engine will reject.
Paige Donnelly · · 7 min read
You cannot skip minor versions, and 1.35 expires in four months. Here is how to sequence the climb without a weekend of surprises.
Paige Donnelly · · 7 min read
Python 3.15 shipped on October 9 with a UTF-8 default, lazy imports and a faster JIT. Here is what to test before you move services over.
Paige Donnelly · · 7 min read
DuckDB 2.0.0 LTS shipped on October 21 with a new parser, a new storage format and a few breaking changes. Here is a safe upgrade path.
Paige Donnelly · · 7 min read
Two critical PHP flaws let an unauthenticated attacker reach remote code execution. Here is the patch order, the stopgap settings, and the checks to run afterward.
Paige Donnelly · · 7 min read
A poisoned release of an AI sandbox SDK was live for hours. Here is how to find out whether it touched your machines, and why the order of your cleanup matters.
Paige Donnelly · · 7 min read
Casey Lindqvist on Zed editor review: what actually matters for engineering teams making this call.
Paige Donnelly · · 6 min read
Recent searches
No results found
Your search did not match any results. Please try again.
Search is temporarily unavailable. Please check your connection and try again.
Get our best stories in your inbox. No spam, unsubscribe any time.
Thanks — you're on the list.