d static method
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');
}