Skip to content

[REF] 릴리즈 빌드의 에러 로깅을 개선합니다. #688

@angryPodo

Description

@angryPodo

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 🏃‍♀️

  • [ ]

Metadata

Metadata

Assignees

Labels

REFACTOR🧽기능 동작은 유지하되, 앱 로직(프로덕션 코드)의 구조와 품질을 개선🍀민재민재 담당

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions