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_email
はjson_obj
スキーマに対して検証され、違反はInvalidEmailDataError
非常に長いメッセージで終了します。これは、何が問題なのかを理解するために必要です。
問題は、メッセージが一貫して 508 文字で切り捨てられていることです。これにより、API を呼び出すチームに有用な情報を提供できなくなります。
ダイアログは基本的に次のとおりです。
- 私: JSON が間違っています。
- 彼ら: わかりました、正確には何が問題なのですか?
- 私:わかりません、すみません。
どうすればこの状況から抜け出すことができますか、より正確には、ルート例外のメッセージを 508 文字に切り捨てるのは何ですか?