自定义日志报告 - ACRA Android

3
我正在像这样使用ACRA来开发Android应用程序。
@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个log cat消息,其中包含i或d日志级别。如何做到这一点。
通过以下链接进行操作。

https://github.com/ACRA/acra/wiki/AdvancedUsage#adding-logcat-eventlog-or-radiolog-extracts-to-reports

我做了如下更改。
@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”打印了一些日志消息,并在我的应用程序中已知的崩溃之前对它们进行了管理,但我仍然收到空的日志记录。我希望使用ACRA获取仅限于我的应用程序的级别为i或d的日志消息,如何实现。谢谢提前。
1个回答

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权限添加到最终项目(而不是库项目)之后,才得到了随机结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接