We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

Welcome to Logging and Telemetry

By now you've built a web service (or seven). You've added features, fixed bugs, and felt the thrill of seeing your code in action.

But sometimes... things break.

Servers crash. Users trigger weird edge cases. Bugs sneak through. The difference between junior and senior engineers isn't avoiding failure, it's building systems that handle and detect failure gracefully. In this course, we'll answer two seemingly simple questions:

  • "How do I know when something is going wrong?"
  • "How can I identify the problem as quickly as possible?"

for Windows Users

If you try to complete this course without WSL 2 installed on Windows, you're gonna have a bad time.

Learning Goals

  • Understand observability – what it is, and how it can help you
  • Effective logging using Go's log and log/slog packages
  • Avoid common traps, including missed logs, too many logs, and security leaks
  • Set up actionable alerts without creating noise
  • Collect and visualize metrics with Prometheus and Grafana
  • Trace requests and diagnose performance with pprof and OpenTelemetry

Boot.dev CLI

You'll use the Boot.dev CLI to test work on your machine. Install it, then verify the installation and log in:

bootdev --version
bootdev login

You'll find each lesson's CLI commands in the test panel. The CLI has two modes:

  • bootdev run <id> runs checks without submitting.
  • bootdev run -s <id> submits your work and marks the lesson complete when it passes.

Starting with your next CLI lesson, you can omit <id> and use bootdev run or bootdev run -s.

Use run first unless the lesson says failed submissions are safe.

If you're stuck, reach out in the help forums of our Discord server.

Assignment

Complete your first CLI check.

Run and submit the CLI tests.