Sentry python_sdk在记录级别INFO上未触发事件

时间:2019-10-31 15:25:57

标签: python-3.x logging sentry

我正在尝试从raven切换到Sentry python_sdk。发送错误正在按预期方式运行,但未发送INFO级日志的事件。我已经将LoggingIntegration的event_level更改为logging.INFO

import logging
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
from sentry_sdk.integrations.logging import LoggingIntegration

def before_send(event, hint):
    if "exc_info" in hint:
        exc_type, exc_value, tb = hint["exc_info"]
        if isinstance(exc_value, KeyboardInterrupt):
            return None

    return event

sentry_sdk.init(
    dsn="...",
    integrations=[
        DjangoIntegration(), LoggingIntegration(level=logging.INFO, event_level=logging.INFO)
    ],
    before_send=before_send,
)

我还附加了sentry处理程序,也可以从记录器中检索该处理程序。级别也是INFO。所关注的记录器称为MyLogger,如变量LOGGER_NAME所述。

LOGGER_NAME = "MyLogger"
LOGGING = {
    "version": 1,
    "disable_existing_loggers": True,
    "formatters": {"verbose": {"format": "%(levelname)s %(asctime)s %(module)s " "%(process)d %(thread)d %(message)s"}},
    "handlers": {
        "sentry": {
            "level": "INFO",
            "class": "sentry_sdk.integrations.logging.EventHandler",
        },
        "console": {"level": "DEBUG", "class": "logging.StreamHandler", "formatter": "verbose"},
    },
    "loggers": {
        "django": {"propagate": False, "handlers": ["sentry", "console"]},
        "django.request": {"level": "ERROR", "propagate": False, "handlers": ["sentry", "console"]},
        "django.db.backends": {"level": "ERROR", "propagate": False, "handlers": ["sentry", "console"]},
        "raven": {"level": "WARNING", "propagate": False, "handlers": ["sentry", "console"]},
        "sentry.errors": {"level": "WARNING", "propagate": False, "handlers": ["sentry", "console"]},
        LOGGER_NAME: {"level": "INFO", "propagate": False, "handlers": ["sentry"]},
        "{}.test".format(LOGGER_NAME): {"level": "INFO", "propagate": False, "handlers": ["console"]},
    },
}

有人知道我该怎么做吗?

0 个答案:

没有答案