2014-11-30 1 views
0

로그보고를 위해 ACRA를 구현 한 애플리케이션을 개발 중입니다. 이는 앱 구성에서 기본적으로 구현되고 활성화되었습니다. 그러나, 전형적인 개발 오류 단계에서 개발하고 들어갈 때, 나의 개발 장치는 나를 위해 관심이없는 많은 오류보고를 보낸다. (나는 모든 정보가 일식이다.)보고서를 전송하기위한 ACRA 장치 필터링

acralyzer에서 상당한 양의 보고서를 삭제해야하므로 짜증이납니다.

ACra를 구성하는 방법을 알고 싶습니다. 특정 장치 ID에 대해 보고서를 보내지 않을 것입니다. 어떤 종류의 장치 필터링을 사용하면 데이터베이스를 여러 보고서로 채우지 않고도 개발할 수 있습니다.

나는 advanced use of ACRA의 문서를 탐색 중이며 찾을 수 없습니다. 내 마음에 오는 유일한 옵션은 나중에 앱을 출시 할 때 활성화 할 때 ACRA 생성자에 대한 호출을 주석으로 처리하는 것입니다.

임시 파일을 패치하지 않고이 문제를 해결할 수있는 더 좋은 방법이 있습니까?

답변

1

내 개발 보고서 보낸 사람으로 같은 것을 사용하고 있습니다 :

private static class DummyReportsSender implements ReportSender 
{ 
    @Override 
    public void send(CrashReportData arg0) throws ReportSenderException 
    { 
     //Dummy Reporter - nothing send 
    } 
} 

및 다음 응용 프로그램 #에서 onCreate()에서 :

if (BuildConfig.DEBUG) 
{ 
    ACRA.getErrorReporter().setReportSender(new DummyReportsSender()); 
} 
+0

음 ... 당신이 보여주는 것은 강제 오류를 보내는 방법이지만 장치를 필터링하는 방법이 아닙니까? –

+1

왜 장치를 필터링해야합니까? "DEBUG"모드에있는 경우 보고서를 보내지 않으면 충분하지 않습니까? – Christian

+0

죄송합니다. 귀하의 제안을 이해하지 못했습니다. 당신이 저에게 제안한 것은 제 문제에 대한 다른 해결책입니다. –

1

ACRA OOTB를 사용하여이를 수행 할 방법이 없습니다.

ACRA를 호출 한 후 DefaultExceptionHandler를 재정의하고 특정 Exception 인스턴스를 무시할 수 있습니다. 그러나 그것은 나에게는 잔인한 소리처럼 들린다.

dev에 다른 Acralyzer 인스턴스를 사용하거나 dev 예외를 삭제하거나 무시하십시오.

My dev 예외는 항상 무시할 수 있도록 -SNAPSHOT입니다.

+0

당신은 당신이라는 포크를 사용하는 것을 의미 - 개발 환경에서 사용하는 생산 옵션과 다른 SNAPSHOT이 맞습니까? –

+0

내 dev 브랜치는 항상 -SNAPSHOT이라고합니다. 빌드 할 때 Maven을 사용하기 때문에 릴리스 시점에 콘크리트 빌드 버전 만 있습니다. – William

+0

Arg ... 저는 ACRA의 prorgamming 기술을 가지고 있지 않기 때문에 ACRA의 안정 버전을 선호합니다 ... –