繁体   English   中英

ACRA发送自定义数据REPORTFIELD

[英]ACRA sending a custom data REPORTFIELD

如何使用couchdb配置CUSTOM_DATA字段?

我想设置一个配置值与错误一起发送。 在后端我有一个带有ACLARYZER网络应用程序的沙发数据库。

这是我在Android上的Application.class上的代码,我定义了这个自定义数据值。

@ReportsCrashes(
    formUri = "https://user.cloudant.com/acra-report/_design/acra-storage/_update/report",
    reportType = HttpSender.Type.JSON,
    httpMethod = HttpSender.Method.POST,
    formUriBasicAuthLogin = "user",
    formUriBasicAuthPassword = "pass",
    formKey = "", // This is required for backward compatibility but not used
    customReportContent = {
            ReportField.APP_VERSION_CODE,
            ReportField.APP_VERSION_NAME,
            ReportField.ANDROID_VERSION,
            ReportField.PACKAGE_NAME,
            ReportField.REPORT_ID,
            ReportField.BUILD,
            ReportField.STACK_TRACE,
            ReportField.CUSTOM_DATA
    },
    mode = ReportingInteractionMode.TOAST,
    resToastText = R.string.reporte_error
)
public class my_applicaction  extends Application{

 @Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
    ACRA.init(my_applicaction.this);
    ACRA.getErrorReporter().putCustomData("myKey", "myValue");
    ACRA.getErrorReporter().handleException(null);


}
}

现在问题是如何在沙发数据库中添加值来获取此自定义数据字段。 或者我必须在ACRALYZER中定义自定义数据?

谢谢

最后,这比我想象的要容易得多。

只需将此行与每个CUSTOM_DATA放在一起

 ACRA.getErrorReporter().putCustomData("NAME_VALUE1", "VALUE1");

然后你的代码是这样的。

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    ACRA.init(Application.this);
    ACRA.getErrorReporter().putCustomData("NAME_VALUE1", "VALUE1");
    ACRA.getErrorReporter().putCustomData("NAME_VALUE2", "VALUE2");
    ACRA.getErrorReporter().putCustomData("NAME_VALUE3", "VALUE3");
}

ACLARYZER完成剩下的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM