2

Sentry を使用して、Django 1.7 アプリケーションの例外を監視しています。

カラスの設定は次のとおりです。

RAVEN_CONFIG = {
    'dsn': get_env_variable('SENTRY_DSN'),
    'string_max_length': 10000,
}

JSON API 呼び出しに応答して電子メールを送信する機能があります。ここでは、ビューにログが記録されます。

try:
    msg = send_email(json_obj)
except InvalidEmailDataError:
     logger.exception("Impossible to send email because bad data were sent")
     return HttpResponseBadRequest()

insidesend_emailjson_objスキーマに対して検証され、違反はInvalidEmailDataError非常に長いメッセージで終了します。これは、何が問題なのかを理解するために必要です。

問題は、メッセージが一貫して 508 文字で切り捨てられていることです。これにより、API を呼び出すチームに有用な情報を提供できなくなります。

ダイアログは基本的に次のとおりです。

  • 私: JSON が間違っています。
  • 彼ら: わかりました、正確には何が問題なのですか?
  • 私:わかりません、すみません。

どうすればこの状況から抜け出すことができますか、より正確には、ルート例外のメッセージを 508 文字に切り捨てるのは何ですか?

4

1 に答える 1

2

ここで、sentry にはメッセージの長さにサーバー制限があることがわかります。これらは時間の経過とともに変化していると確信しており、現在どのように設定されているかはわかりません。これは、ロギング プラットフォームにとってかなり苛立たしいことだと思います。これはおそらく、ストレージ コストを節約するためのビジネス上の決定です。

于 2016-08-30T19:01:25.787 に答える