如何最好地实现简单的崩溃/错误报告?

2024-05-18 13:56:54 发布

您现在位置:Python中文网/ 问答频道 /正文

实现简单的崩溃/错误报告机制的最佳方法是什么?在

详细信息:我的应用程序是跨平台的(mac/windows/linux),是用Python编写的,所以我只需要一些能给我发送少量文本的东西,例如时间戳和回溯(我已经生成并显示在错误对话框中)。在

如果它可以简单地通过电子邮件发送就可以了,但是我想不出一种方法来不在应用程序中包含smtp服务器的用户名和密码。。。 我应该在服务器端实现一个简单的web服务,并让我的应用程序向它发送一个包含信息的HTTP请求吗?有更好的主意吗?在


Tags: 方法文本服务器应用程序linuxwindowsmac错误
3条回答

网络点击率是一个不错的方法,但一定要选择一个好的网址-你的应用程序将在未来几年内击中它。在

web服务是最好的方法,但也有一些注意事项:

  1. 您应该始终询问用户是否可以发送错误反馈信息。在
  2. 如果出现网络错误,您应该准备好优雅地失败。不要让未报告崩溃阻碍恢复!在
  3. 除非用户知道,否则您应该避免包含用户标识或敏感信息(请参见1),并且您应该使用SSL或以其他方式保护它。有些司法管辖区会给你带来你不想处理的负担,所以最好不要保存这些信息。在
  4. 像任何web服务一样,确保您的服务不被坏人利用。在

I can't think of a way to do this without including a username and password for the smtp server in the application...

您只需要用户名和密码就可以向smarthost进行身份验证。你不需要它直接发送邮件,你需要它通过中继发送邮件,例如你的ISP的邮件服务器。不经过身份验证就可以发送电子邮件,这就是为什么垃圾邮件很难阻止。在

尽管如此,有些ISP会在端口25上阻止出站流量,因此最可靠的选择是HTTPPOST,它不太可能被任何东西阻止。一定要选择一个你以后不会感到受限的URL,或者更好的是让应用程序定期检查更新,这样如果你决定更改域或其他东西,你可以提前推送更新。在

安全并不是一个真正的问题。你可以很容易地丢弃垃圾数据,所以你真正关心的是,是否有人会费尽心机去构建假回溯来扰乱你,这是一个非常不可能的情况。在

至于有效负载,PyCrash可以帮助您实现这一点。在

相关问题 更多 >

    热门问题