【发布时间】:2019-10-21 02:44:21
【问题描述】:
我正在使用 django 和 sentry-sdk。在我的 django 设置的记录器部分中,我有以下处理程序:
'loggers': {
'django.request': {
'level': 'WARNING',
'handlers': ['console', ],
'propagate': False
}
}
并且sentry-sdk初始化如下:
import logging
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
from sentry_sdk.integrations.logging import LoggingIntegration
sentry_logging = LoggingIntegration(
level=logging.INFO,
event_level=logging.ERROR
)
sentry_sdk.init(
dsn="...",
integrations=[DjangoIntegration(), sentry_logging],
)
但是,下面的示例不会向哨兵发送错误事件
import logging
logger = logging.getLogger('django.request')
logger.error('Why do I not appear in sentry?')
另一方面,其他人会这样做,例如
import logging
logger = logging.getLogger('another_module')
logger.error('And why do I do appear in sentry?')
问题:如何为带有propagate=False 的模块解决此问题?
【问题讨论】:
-
通过设置传播为真?或将哨兵处理程序添加到您的处理程序(您只有“控制台”)
-
@dirkgroten 两个答案都无法解决问题。新的 sentry sdk 与 Raven 不同。
标签: python django logging sentry