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