2008-09-17 17 views
8

単純なクラッシュ/エラー報告メカニズムを実装する最良の方法は何でしょうか?シンプルなクラッシュ/エラーレポートの実装方法を教えてください。

詳細:私のアプリはクロスプラットフォーム(mac/windows/linux)で、Pythonで書かれていますので、少量のテキストを送るようなものが必要です。ただタイムスタンプとトレースバック(私はすでに生成し、私のエラーダイアログに表示)。

単純に電子メールで送信できるのであれば問題ありませんが、アプリケーションでsmtpサーバーのユーザー名とパスワードを入力せずにこれを行う方法は考えられません。 シンプルなWebサービスをサーバー側で実行し、私のアプリにその情報をHTTPリクエストで送信させますか?どんな良いアイデアですか?

ありがとうございます!

+0

特にサーバー側で共有したいと思う実装がありますか?乾杯! –

答えて

4

Webサービスが最良の方法ですが、いくつか注意点があります。

  1. 誤差フィードバック情報を送信するために、OKであればあなたは常にユーザーに依頼する必要があります。
  2. ネットワークエラーがある場合は、正常に失敗するように準備する必要があります。クラッシュが回復を妨げることを報告しないようにしましょう!
  3. ユーザーが知っていない限り(#1を参照)、SSLを使用するか保護する必要があります。いくつかの管轄区域では、あなたが対処したくないという負担を課すため、単にそのような情報を保存しないことが最善です。
  4. 他のWebサービスと同様に、悪意のあるユーザーがあなたのサービスを悪用できないようにしてください。
1

ウェブのヒットは道のりですが、あなたが良いURLを選んだことを確認してください。あなたのアプリは何年もそれを打つでしょう。

0

SMTPまたはHTTPを使用してデータを送信しても、ランダムなデータを送信しないようにするには、アプリケーションにユーザー名とパスワードが必要です。

これを念頭に置いて、私は、HTTPではなくSMTPを使用してデータを送信する方が簡単だろうと思っています。

0

単純なWebサービスであれば十分です。誰もあなたのサービスにリクエストをすることができないようにセキュリティを考慮する必要があります。

大規模では、JMSメッセージングシステムと考えました。トレースバック/エラーメッセージを含むデータのシリアル化されたオブジェクトをキューに入れ、そのデータからレポート/アラートを生成するx分ごとに消費します。あなただけに自分自身を認証するためのユーザ名とパスワードが必要です

3

私は、アプリケーション内のSMTPサーバのユーザ名とパスワードを含めずにこれを行う方法を考えることはできません...

スマートハウスメールを直接送信する必要はありません。リレーなどを介してメールを送信する必要があります。あなたのISPのメールサーバー。認証なしで電子メールを送信することは完全に可能です。そのため、スパムは止めるのが難しいのです。

これは、ISPの中にはポート25のアウトバウンドトラフィックをブロックするものがあるため、最も堅牢な代替手段はHTTP POSTであり、これは何にも阻止される可能性は低いということです。アプリケーションが定期的に更新をチェックするようにすることをお勧めしますので、ドメインや何かを変更する場合は、事前に更新をプッシュすることができます。

セキュリティは実際問題ではありません。あなたはかなり簡単に迷惑データを捨てることができるので、あなたが本当に懸念しているのは、誰かが偽のトレースバックを作ってあなたを混乱させてしまうかどうかということです。

ペイロードについては、PyCrashがお手伝いできます。

関連する問題