我正在使用ACRA for Android app这样
@ReportsCrashes(formKey = "dEpU12345lRZYjFtOUxMVHl4MFpMdnc6MQ", mailTo = "issues@xyz.com",
customReportContent = { ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT },
mode = ReportingInteractionMode.TOAST,
resToastText = R.string.crash_toast_text)
它与Log cat一起完美地发送崩溃报告。它默认发送所有最后200行logcat和日期。但我想自定义它只发送我的应用程序的最后100个日志cat消息与日志级别i或d。怎么做。
通过以下链接
我做了这样的改变
@ReportsCrashes(formKey = "dEpU12345lRZYjFtOUxMVHl4MFpMdnc6MQ", mailTo = "issues@xyz.com",
customReportContent = { ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT },
logcatArguments = { "-t", "100", "-v", "long","test:I" ,"*:D","*:S"},
mode = ReportingInteractionMode.TOAST,
resToastText = R.string.crash_toast_text)
即使我打印了一些标记为“test”和级别为“i”的日志消息,并且在我的应用程序中已知崩溃之前管理它们以进行打印,我将获得空的logcat。我想要只有我的应用程序的日志消息与级别i或d与ACRA,如何实现这一点。在此先感谢。
答案 0 :(得分:2)
以下适用于D级日志记录。我的proguard剥离了生产部署的V和I级别。我使用以下代码更新日志
Log.d("YOUR_TAG_HERE", "Some message here");
并且ACRA配置为
logcatArguments = { "-t", "200", "-v", "long", "ActivityManager:I", "YOUR_TAG_HERE:D", "*:S" }
并且不要忘记更新添加必要权限的AndroidManifest.xml文件
<uses-permission android:name="android.permission.READ_LOGS" />
我的图书馆项目遇到了麻烦,我的READ_LOGS权限丢失了。我得到随机结果,直到我将READ_LOGS权限添加到最终项目(而不是库项目)。