CCExtractor / CCExtractor/ultimate_alarm_clock

Replace raw print/debugPrint usage with structured, redacted logging

Aperta
#912 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Dart
Stelle
112
Fork
227
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## Problem
The codebase contains many raw `print` / `debugPrint` calls in production paths. This can:
- create noisy logs that make real errors harder to triage
- leak internal state or sensitive runtime details in logs
- make logging behavior inconsistent across modules

## Example locations
- `lib/app/utils/system_ringtone_service.dart:75`
- `lib/app/data/providers/push_notifications.dart:8`
- `lib/app/modules/timer/views/timer_animation.dart:35`

## Why this is important
Logging should follow a structured policy with controllable verbosity and redaction. Ad-hoc prints increase operational risk and reduce observability quality.

## Proposed fix
- Introduce a centralized logging utility (e.g., wrapper with levels: debug/info/warn/error)
- Gate debug-level logs behind build mode / config
- Redact sensitive fields (tokens, user IDs, emails, device-specific identifiers)
- Replace raw `print`/`debugPrint` calls incrementally, starting with app logic and providers
- Add lint or CI check to prevent new raw print statements in production code

## Acceptance criteria
- Raw `print` calls removed from production paths (or explicitly justified)
- `debugPrint` usage follows centralized logger policy
- Sensitive values are redacted in logs
- Developer docs include logging guidelines

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.