我在Django项目中添加了一个Sentry日志处理程序。
我想通过添加sanitize键和两个处理器来定制sentry处理程序:raven.processors.SanitizePasswordsProcessor
,raven.processors.SanitizeKeysProcessor
。在
有没有一种方法可以在日志配置中不编写新的处理程序类,用我想要的参数包装raven.contrib.django.raven_compat.handlers.SentryHandler
类?在
这是我的日志配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'x': {
#'format': '[%(asctime)s #%(process)d] %(levelname)s: %(message)s'
'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s - {%(pathname)s:%(lineno)d}'
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'x'
},
'sentry': {
'level': 'ERROR',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler'
}
},
'loggers': {
'django': {
'level': 'INFO',
'handlers': ['console', 'sentry'],
'propagate': True
},
}
谢谢你
LOGGING
配置添加这些过滤器的位置不正确,不会清理哨兵事件。在如Client Arguments doc中所述,正确的位置是
RAVEN_CONFIG
,也在Django设置文件中:django1.4到2.0支持Raven(请参见Django docs)。Sentry建议django2.1和更高版本使用新的sentry-sdk,并且有Django integration instructions。在Switching to Sentry-Python post中,有一条注释提到Sentry SDK no longer provides these filters,并建议在需要时编写custom filter。默认情况下,send_default_pii parameter,
False
控制记录和发送大量敏感数据,例如IP地址、用户详细信息和cookies,这些数据在过去由这些过滤器控制。在相关问题 更多 >
编程相关推荐