2016-09-18 3 views
1

Firebase Crash가 내 앱에 통합되었으며 충돌을 보내기 직전에 유용한 앱 상태를 기록하는 맞춤 캐치 예외 처리기를 만들었습니다. 하지만 Firebase 콘솔에서는 로그가 예외 옆에 예상대로 포함되지 않습니다. 왜 그런 경우입니까? 로그를 항상 보내도록하려면 어떻게합니까?Firebase 오류 로그가 전송되지 않았습니다.

다음은 처리기의 uncaughtException 메소드를 제거한 버전입니다. (위의 제 질문에 대한 자신의 의견 중 하나에 더그 스티븐슨에 의해 제안) 결국 나를 위해 일한 무엇

public void uncaughtException(Thread thread, final Throwable ex) { 
    FirebaseCrash.logcat(Log.INFO, TAG, "App state"); 
    FirebaseCrash.report(ex); 
    prior_handler.uncaughtException(thread, ex); 
} 
+0

Firebase Crash가 설치된 경우 report()를 호출 할 필요가 없습니다. Firebase가 추가하는 UncaughtExceptionHandler에서 발생합니다. 충돌 이전에 메시지를 기록하거나 report()를 호출하면 스택 추적 아래 보고서에 첨부됩니다. 로그가 누락되었다는 불만은 전혀 듣지 못했습니다. –

+0

@DougStevenson 답변 해 주셔서 감사합니다. 캐치되지 않은 예외가 발생하는 경우, 필자는 불필요한 추가 로깅을 포함하기 때문에 자체 UEHandler를 만들었습니다. 디버깅하는 동안 내 처리기 (위의 샘플 참조) 호출되고 예외가 콘솔 있지만 로그 나타나지 나타납니다. 커스텀 핸들러를 사용하지 않는다면 캐치되지 않는 예외가있을 때만 어떻게 추가 로그를 주입 할 수 있습니까? – sidiabale

+0

Firebase의 UEH 이전에 호출하면 모든 로그가 작동 할 것으로 기대됩니다. 한 가지 가능한 문제는 UEH가 * Firebase 전에 등록 될 수 있다는 것입니다.이 경우 Firebase는 충돌이 발생하기 전에 실제로 먼저 실행되고 추가 로그를 갖지 않습니다. 당신은 어느 시점에 등록합니까? Firebase는 ContentProvider onCreate (실제로는 매우 빠름) 중에 발생합니다. –

답변

1

안드로이드 응용 프로그램 당 하나의 중포 기지 프로젝트를 만드는 것이 었습니다.

기꺼이,이 구성을 사용하면 here이라는 applicationIdSuffix 트릭을 사용하여 디버그 프로그램에서 내 프로덕션 오류 보고서/로그를 분리 할 수 ​​있습니다.

관련 문제