-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
What is this issue? 🛠
현재 onLogFailure를 통한 에러 처리는 릴리즈 빌드에서 로깅 트리가 심어지지 않아 에러 추적이 불가능한 상태입니다. 릴리즈 보안을 유지하면서도 개발자가 원격에서 에러를 모니터링할 수 있도록 에러 로깅 시스템을 구축합니다.
1. 릴리즈 로깅 트리 구현
- 릴리즈 빌드에서는
android.util.Log를 호출하지 않는Timber.Tree를 구현하여 외부에서 시스템 로그를 통해 앱의 내부 정보를 파악할 수 없도록 차단합니다. - 에러 발생 시 시스템 로그 대신
Firebase Crashlytics와 같은 원격 분석 도구로만Non-fatal Exception을 전송합니다.
2. 빌드 타입별 로깅 분리
- Debug - 개발 편의를 위해
DebugTree를 사용하여 Logcat에 상세 로그 출력. - Release - 보안 및 트래킹을 위해 커스텀 로깅 트리 적용.
3. 로깅과 UI 처리의 책임 분리
- ViewModel은
onLogFailure블록 내에서는 사용자에게 보여줄 에러 메시지 처리, 다이얼로그 노출 등 UI Side Effect에만 집중합니다. onLogFailure확장 함수 내부에서 수행되는Timber.e()가 빌드 타입에 맞는 트리로 에러를 자동 전달하여 로깅 프로세스를 중앙화합니다.
Progress 🏃♀️
- [ ]
Reactions are currently unavailable