Files
probo/.cursor/rules/go-logging.mdc
Émile Ré 8f8f09008a Version Cursor rules
Track .cursor/rules/ in git so coding conventions are shared
across the team. Everything else under .cursor/ stays ignored.

Signed-off-by: Émile Ré <emile@probo.com>
2026-05-19 14:10:39 +04:00

34 lines
861 B
Plaintext

---
description: Go logging — structured, PII-free, use go.gearno.de/kit/log
globs: "**/*.go"
alwaysApply: false
---
# Go logging
Use `go.gearno.de/kit/log` — named, context-aware structured logging with typed fields.
## Rules
- **Never log PII, PHI, or sensitive data** (emails, names, passwords, tokens, health records)
- Log opaque identifiers instead (IDs, request IDs)
- Use typed field helpers: `log.String`, `log.Int`, `log.Error`, etc.
- Use `*Ctx` variants for context-aware logging
```go
// GOOD
l.InfoCtx(
ctx,
"HTTP request to trust center custom domain, redirecting to HTTPS",
log.String("domain", domain),
log.String("path", r.URL.Path),
log.String("request_id", reqID),
)
// BAD — logs PII
l.InfoCtx(ctx, "user login", log.String("email", user.Email))
// BAD — unstructured
log.Printf("processing request for %s", userID)
```