d static method

void d(
  1. String tag, [
  2. Map<String, Object?>? extra
])

Debug-only structured log. No-op in release.

tag is a short namespace (e.g. 'payment.submit'). extra values whose keys match a sensitive name are replaced with [REDACTED].

Implementation

static void d(String tag, [Map<String, Object?>? extra]) {
  if (kReleaseMode) return;
  if (extra == null || extra.isEmpty) {
    debugPrint('[$tag]');
    return;
  }
  final safe = <String, Object?>{};
  extra.forEach((k, v) {
    safe[k] = _redactedKeys.contains(k) ? '[REDACTED]' : v;
  });
  debugPrint('[$tag] $safe');
}