当前位置: 首页 > 知识库问答 >
问题:

如何将android应用程序日志发送到远程服务器?

诸葛卜霸
2023-03-14

在我的应用程序中,我希望在崩溃时将日志发送到远程服务器。我添加了try-catch块,并在catch中向服务器发送日志。我想知道我应该抓住哪些例外。我需要日志以防每次崩溃,这样我就能修复它。捕捉所有异常是一种好的做法吗?

提前感谢。

共有2个答案

刁远
2023-03-14

你可以使用Crashlytics或Bugsense

https://mint.splunk.com/

https://try.crashlytics.com/

谷彦君
2023-03-14

以下是我从其他优秀答案中总结出的建议清单:

>

>

  • 创建一个实现java的ExceptionHandler。朗。丝线。UncaughtExceptionHandler。您可以使用此类自定义和记录错误。

    把这个:线程。setDefaultUncaughtExceptionHandler(新的UncaughtExceptionHandler(this)) 在你的每个活动类的OnCreate()方法(在super()之后)中。

    有关详细信息,请参阅Android异常处理最佳实践的这一伟大答案。

    封闭所有外部/外部运行的代码(例如-使用第三方组件的代码)

    包围尝试/捕获周围的所有代码,你知道,在某些情况下可能会失败

    1. 没有互联网连接时
    2. 在I/O操作期间
    3. 当可能出现疯狂的用户输入时
    4. 当存在被零除的可能性时

    在顶层使用try/catch,因为所有异常都会被冒泡到顶层。因此,在内部函数中,如果需要的话,可以考虑使用<代码>抛出< /代码>异常。然后,在顶层,捕获特定的异常,并在catch块中对异常类型进行正确排序。(参考这个伟大的答案:如何使用try-catch进行异常处理是最佳实践。)

    对于UI,即使发生错误(例如,如果错误是由于没有互联网连接),您也应该通过提供应用程序的“有限功能”版本来提供“持续可用性”。

    过于急切地向用户报告错误不是一个好主意。

    持久错误消息是错误的。请将消息通知用户,并让用户关闭/删除它。

    参考文献1|参考文献2|参考文献3|进一步阅读1|进一步阅读2|进一步阅读3

    对于要远程记录未处理异常的Android库,可以查看以下内容:android-Remote ted-stackTrace。

    >

  • 下载。jar文件
  • 将其添加到Java构建路径
  • 添加互联网权限:使用权限Android:name=“Android.权限.互联网”

    在活动或服务的OnCreate方法中,输入'ExceptionHandler'。登记(这个,”http://your.domain/path");'

  •  类似资料:
    • 问题内容: 关于如何将对象从我的android应用程序发送到数据库,我 有点茫然 由于我是新手,所以我不太确定哪里出了问题,我从中提取了数据,我不知道如何将对象发布到我们的服务器。 任何建议将不胜感激 问题答案: 您需要使用一个类与服务器进行通信。像这样: 这是您的方法。 这是您的活动课程中的新课程。 这行:将其作为HTTP POST请求,应在您的服务器上作为POST请求处理。 然后,在服务器上,

    • 我已在我的应用程序(ASP.NET Core)上使用elasticsearch将nlog配置为nlog.config,如下所示: 应用程序上的设置是: 当我通过dotnet-run运行应用程序时,我有一只麋鹿在这样的码头工人那里长大——https://github.com/deviantony/docker-elk 所有日志都会被保存。 但当我将我的应用程序添加到docker映像时,它就不起作用了

    • 我有一个nodejs应用程序,它只不过是一个使用微软botbuilder框架构建的机器人。我创建了azure应用程序服务来托管此应用程序。我想找到一种方法,将所有应用程序日志和web服务器日志(如果可能的话)持久化到某个持久化存储中。就像本地web应用程序一样,我们可以在应用程序服务器上查找日志 在做了一些研究之后,我找到了微软关于这方面的官方文件,但看起来它有以下局限性。 我们不能使用应用程序服

    • 问题内容: 我正在开发我的第一个Android应用程序。我正在尝试做的是对REST服务的POST请求,我希望此请求的主体为JSON字符串。 我正在使用Google的GSON来生成发送到服务器的JSON。这是执行POST请求的代码: 响应代码为400 BAD REQUEST,我可以从服务器日志中读取信息。尸体未正确发送的地方: 服务器端的代码是一个简单的Seam Rest Service: Andr

    • 问题内容: 我有一个MySql数据库,其中包含一些运动结果。我想编写一个Android应用程序以在手机上显示这些数据。 我已经在互联网上搜索了此问题,并且我认为不可能在MySql数据库和Android应用程序之间建立直接连接。(这是正确的吗?) 所以我的问题是:如何在android应用程序中访问MySql数据库以显示某些数据? 问题答案: 您可能需要查看C2DM(http://code.googl

    • 对于如何将一个< code>json对象从我的android应用程序发送到数据库,我有点不知所措 由于我是新手,我不太确定我出了什么问题,我已经从中提取了数据,并且我不知道如何将对象发布到我们的服务器。 任何建议将不胜感激