我们在这里有一种情况,我们希望在我们的IONIC1应用程序崩溃时看到一些日志记录(即使它一直崩溃)。 我们考虑过阅读logcat,但这只有在你拥有root设备的情况下才有效....它可以正常工作,但由于我们不能让所有设备与我们一起手动运行adb脚本以将root日志授予a记录应用程序,我不知道该怎么做。 谁有同样的情况,并附带解决方案?
提前致谢!
答案 0 :(得分:1)
你应该尝试一些第三方日志工具,建议你从Fabric开始! (特别针对Crashlytics)
更新:
如果您想将您的日志写入文件,请尝试以下几行:
try {
Process process = Runtime.getRuntime().exec("logcat -d ");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null) {
log.append(line).append("\n");
}
} catch (IOException ignored) {
}
String address = writeToLogcatFile(c, log.toString());
boolean success = !address.equals("");
另外考虑创建自己的记录器并添加导出它的功能,只需制作一组适当调用日志记录的函数
public static void v(String TAG, String msg) {
Logv(TAG, msg);
if(showOnScreen) {
Galgo.log(TAG + ": V: " + msg);
}
}
private static void Logv(String tag, String msg) {
if(BuildConfig.DEBUG){
log.v(tag, msg);
} else {
logToTheFileToExportOrDBOrSomethingElse();
}
}