logging-and-error-reporting

Installation
SKILL.md
Contains Shell Commands

This skill contains shell command directives (!`command`) that may execute system commands. Review carefully before installing.

logging-and-error-reporting

Warp has two related ways to surface what happened at runtime:

  • log::* (error!/warn!/info!/debug!/trace!) — local diagnostics written to the terminal/log file and, on crash-reporting builds, uploaded to Sentry as breadcrumbs (context attached to the next captured event).
  • report_error! — captures a structured Sentry event (an actual issue) for errors worth engineering attention.

How logs reach Sentry (important)

On crash-reporting builds a SentryLogger wraps the logger (warp_logging). The filter:

  • Error / Warn / Infobreadcrumb only (not their own Sentry issue).
  • Debug / Tracedropped from Sentry entirely (local-only).
  • The Error-level line emitted by report_error! itself → ignored by Sentry (the macro already captured a structured event; the log line would double-report).
  • A few noisy targets (wgpu, panic, redraw-frame, the crash-reporting module) are dropped.

Consequences:

  • log::error! does NOT create a Sentry issue — it's only a breadcrumb. If a failure should be tracked in Sentry, use report_error!. Only report_error! and panics create Sentry events.
  • Breadcrumbs (Info and above) are uploaded, so they must never contain secrets or PII — see "Sensitive data: safe_* macros" below.

Choosing: report_error! vs. log::error! vs. log::warn!

Installs
1
Repository
warpdotdev/warp
GitHub Stars
63.8K
First Seen
11 days ago
logging-and-error-reporting — warpdotdev/warp