我目前正在开发一个android应用。我注意到一个非常罕见的错误,导致我的应用程序崩溃。不幸的是,我的智能手机在发生时从未连接到PC。因此,有一种方法可以将所有日志自动保存到服务器/数据库(尤其是抛出的运行时异常)。错误数据应该在我的应用程序的每次启动时都被覆盖,因此它仅包含上次运行的日志...我该如何实现?
谢谢 Mahak Singhvi
答案 0 :(得分:0)
您可以使用Logcat。这是一个命令行工具,用于转储系统消息,堆栈跟踪以及您使用Log类从应用程序编写的消息的日志。
您可以将logcat作为adb命令运行(或直接在shell提示符下运行)。
adb logcat
Logcat也可以直接写入文件:
public static void backupLogcatToFile(Context context) {
String fileName = "logcat_" + System.currentTimeMillis() + ".txt";
File outputFile = new File(context.getExternalCacheDir(), fileName);
Process process = Runtime.getRuntime().exec("logcat -f " + outputFile.getAbsolutePath());
}
项目CatSaver是可自动保存logcat的Android服务。它提供了一个HTTP服务器,使您无需adb连接到设备即可保存和下载logcat数据。
如果在应用发布后需要收集崩溃日志,则可以使用ACRA。