The interface
fields, never interpolated into message. A message that
embeds its values produces a unique string per occurrence, which cannot be
grouped, counted or alerted on. A stable message plus structured fields can. An
error is carried as fields.cause.
A console logger
What the SDK logs
Records carry fields such as
status, attempt, retry_in_ms, configs,
flags, key_type, event, consecutive_failures and cause.
Secrets never reach the logger
No log record contains a secret’s value or a secret’s key name, at any level, and no record contains the API key. A test in the SDK drives a sync carrying a secret through a capturing logger at the most verbose level and fails if either appears anywhere in the output. A configuration rejection naming the API key carries only its prefix -wxp_...
- never the material.
