How to best implement simple crash / error reporting?实施简单的崩溃/错误报告机制的最佳方法是什么? 详细信息:我的应用程序是跨平台(mac / windows / linux)并用Python编写的,所以我只需要一些可以向我发送少量文本的内容,例如 只是一个时间戳和一个追溯(我已经生成并显示在错误对话框中)。
如果它可以简单地通过电子邮件发送就可以了,但是我想不出一种在应用程序中不包含smtp服务器的用户名和密码的方式来做到这一点... Web服务是最好的方法,但是有一些警告:
您只需要用户名和密码即可向智能主机进行身份验证。您不需要它直接发送邮件,而需要它通过中继发送邮件,例如您的ISP的邮件服务器。无需身份验证就可以发送电子邮件,这就是为什么垃圾邮件很难阻止的原因。 话虽如此,一些ISP阻止了端口25上的出站通信,因此最可靠的替代方法是HTTP POST,它不太可能被任何东西阻止。请确保选择一个以后不会受到限制的URL,或者更好的是,让应用程序定期检查更新,因此,如果您决定更改域或其他内容,则可以提前推送更新。 安全并不是真正的问题。您可以很容易地丢弃垃圾数据,因此,真正让您担心的是,是否有人会麻烦构造虚假的回溯来弄乱您,而这种情况极不可能发生。 至于有效载荷,PyCrash可以帮助您。 PyCrash? 网络点击是解决之道,但是请确保您选择了一个不错的URL-您的应用将在未来几年内不断受到关注。 某种简单的Web服务就足够了。您将必须考虑安全性,以便不仅有人能向您的服务发出请求。 在更大范围内,我们考虑了JMS消息传递系统。将包含跟踪/错误消息的数据的序列化对象放入队列中,每x分钟使用一次,以从该数据生成报告/警报。 无论您使用SMTP还是HTTP发送数据,都需要在应用程序中输入用户名/密码,以防止任何人向您发送随机数据。 考虑到这一点,我怀疑使用SMTP而不是HTTP来发送数据会更容易。 |