【问题标题】:Get app logs on crash获取应用程序崩溃日志
【发布时间】:2018-02-01 11:58:14
【问题描述】:

这里有一种情况,我们希望在 IONIC1 应用程序崩溃时查看一些日志记录(即使它一直在崩溃)。 我们考虑过阅读 logcat,但这只有在你有一个 root 设备时才有效....它可以工作,但是因为我们不能在这里拥有所有设备来手动运行 adb 脚本以将 root 日志授予日志应用程序,我不知道该怎么办。 谁有同样的情况,并提出了解决方案?

提前致谢!

【问题讨论】:

    标签: ionic-framework crash logcat crash-reports


    【解决方案1】:

    您应该尝试一些 3rd 方日志记录工具,建议您从 Fabric 开始! (专门针对 Crashlytics)

    https://fabric.io/home

    更新:

    如果您想将 logcat 写入文件,请尝试以下方式:

     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();
        }
    }
    

    【讨论】:

    • 我们实际上只是希望将应用程序中的 logcat 写入另一个文件...我们使用 Soti,因此我们可以从设备传输文件。有没有这样的解决方案?
    • 我们使用 AWS 存储桶推出了自己的上传日志猫,但老实说,我一直讨厌它。你不需要 root 设备来获取你的 logcat。您还可以使用 3rd 方工具的记录器来添加您感兴趣的信息,并将其作为元数据与崩溃一起发送。您总是会得到一个堆栈跟踪,然后是您添加的任何其他日志记录或元数据。您可以将其构建到您自己的记录器中。我没有做太多额外的日志记录,我们现在只使用堆栈跟踪和一些元数据,然后跟踪 Answers 事件(也是结构)以解决关键非致命问题。
    • 感谢您的回答!你能给我一些第 3 方的工具吗?您是如何在自己的应用程序中实现 Fabric 的?当应用程序在启动时崩溃时,您会收到崩溃报告吗?几天前我们黑屏了...
    • Fabric 和 Firebase 是 Google 工具(适用于 Android、iOS 和 Web),它们真的很棒!它们也很容易设置!只需转到fabric.io/home 注册,然后按照步骤操作,甚至还有一个测试按钮会强制崩溃,它会显示在您的 Web 控制台中,他们的文档总是很好并且通常针对您的项目进行个性化。我不为他们工作,他们只是为我节省了大约 1000 小时的痛苦!
    猜你喜欢
    • 2013-09-04
    • 2011-04-09
    • 2014-03-31
    • 1970-01-01
    • 2015-08-06
    • 2019-01-03
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多