我使用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()
在send_email
中,json_obj
会根据模式进行验证,而冲突最终会导致InvalidEmailDataError
带有一条很长的消息,这是了解出错原因所必需的。
问题是消息总是被截断为508个字符,这使我无法向调用API的团队提供有用的信息。
对话框基本上是:
- 我:你的JSON是错误的
- 他们:好吧,到底怎么了
- 我:对不起,我不知道
如何摆脱这种情况,或者更准确地说,是什么将根异常的消息截断为508个字符
您可以在这里看到sentry对消息长度有服务器限制。我确信这些会随着时间的推移而变化,我不知道它们目前的设置是什么。我同意这对日志平台来说是非常令人沮丧的。这可能是为了节省存储成本而做出的商业决策。