Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android日志&;报告生成_Android_Logging_Reporting - Fatal编程技术网

Android日志&;报告生成

Android日志&;报告生成,android,logging,reporting,Android,Logging,Reporting,在Android应用程序中,生成用户稍后可以查看的报告的最佳策略是什么?我说的是应用程序的正常运行,不一定是错误和异常 我有几个选择,但每个选择似乎都有问题: Logcat(使用特定的标记“MyAppsLog”,为用户提供读取使用该标记记录的所有语句的功能) 注意:我相信Logcat的主要目的是为开发人员提供调试信息,而不是为最终用户 手动打开一个平面文件,并将日志语句附加到该文件中。 注意:如果没有用于日志记录和报告生成的标准机制,则可以使用此方法。因为这是一个标准要求,我不希望重新发明轮子。

在Android应用程序中,生成用户稍后可以查看的报告的最佳策略是什么?我说的是应用程序的正常运行,不一定是错误和异常

我有几个选择,但每个选择似乎都有问题:

  • Logcat(使用特定的标记“MyAppsLog”,为用户提供读取使用该标记记录的所有语句的功能)
    注意:我相信Logcat的主要目的是为开发人员提供调试信息,而不是为最终用户

  • 手动打开一个平面文件,并将日志语句附加到该文件中。
    注意:如果没有用于日志记录和报告生成的标准机制,则可以使用此方法。因为这是一个标准要求,我不希望重新发明轮子。此外,如果重新安装应用程序,文件可能会丢失。如果写入SD卡/外部存储器以避免这种可能性,则可能不是私有的

  • 使用第三方工具,如 或
    注意:我认为这些工具的用途是崩溃报告,我不认为它们是标准报告生成的最佳选择


  • 许多企业应用程序需要有一种方法来生成报告(应用程序正常运行,而不是错误),企业用户可以稍后查看。我希望这里的答案对更多的人有用,而不仅仅是我。

    那么,使用SQLite数据库并将日志数据转储到表中怎么样?我认为这比平面文件选项要好。您甚至可以聚合转储的数据或对其进行查询。

    那么使用SQLite数据库并将日志数据转储到表中如何?我认为这比平面文件选项要好。您甚至可以聚合转储的数据或对其进行查询。

    Sqlite很重,占用大量内存和进程

    平面锉刀的优点:

  • 所有日志信息的单点
  • 易于管理
  • 易于删除(清除缓存)
  • 性能(当文件大小增大时)应用程序的性能保持不变
  • 任何人都可以读取日志文件,并知道正在哪个进程上运行
  • 如果数据不太大/复杂,也不太重要(如果有人读过),那么只使用平面文件

  • Sqlite很重,占用大量内存和进程

    平面锉刀的优点:

  • 所有日志信息的单点
  • 易于管理
  • 易于删除(清除缓存)
  • 性能(当文件大小增大时)应用程序的性能保持不变
  • 任何人都可以读取日志文件,并知道正在哪个进程上运行
  • 如果数据不太大/复杂,也不太重要(如果有人读过),那么只使用平面文件

  • 谢谢你的回答。我很想知道为什么你认为数据库比平面文件更好(因为大多数日志和报告都是平面文件)?我确实理解,如果我们要从相同的数据生成不同格式的复杂报告,那么使用DB是有意义的。但是对于简单的日志文件,这种复杂性值得吗?这取决于您希望如何使用收集的数据。如果您不想对日志进行任何复杂的处理,那么将它们转储到文件中当然可以。谢谢您的回答。我很想知道为什么你认为数据库比平面文件更好(因为大多数日志和报告都是平面文件)?我确实理解,如果我们要从相同的数据生成不同格式的复杂报告,那么使用DB是有意义的。但是对于简单的日志文件,这种复杂性值得吗?这取决于您希望如何使用收集的数据。如果您不想对日志执行任何复杂的操作,那么将它们转储到文件中当然可以。