我在我的Android应用中使用ACRA作为崩溃和错误报告lib。
它提供了一个选项来发送LogCat的内容以及错误报告,但我不希望使用此功能,因为它需要READ_LOGS权限,这可能对某些用户构成威胁。
我基本上对发送自己的应用程序调试日志以及使用ACRA发送的错误报告感兴趣。当然,需要有这个调试历史的最大大小(例如,只保存和发送最后20条消息)。我可以通过简单地调用类似storeLog("User has clicked button 1")
的内容来存储消息。
要实现这一目标,我需要:
循环缓冲区,存储(Timestamp t,String message)对。此选项的缺点:需要在类之间传递此缓冲区,在应用程序退出时丢失历史记录(除非我将其保存到文件或SharedPreferences)
滚动文件。
首选哪个选项,以及如何实施(尤其是“滚动”行为)?