Red-DiscordBot/core/sentry_setup.py
Kowlin 5c2be25dfc [Sentry] Cleared out websocket breadcrumbs (#870)
This adds additional protections to make sure no sensitive information gets caught in our Sentry error logger.
2017-07-28 00:24:09 -04:00

46 lines
1.0 KiB
Python

from raven import Client, breadcrumbs
from raven.versioning import fetch_git_sha
from raven.conf import setup_logging
from raven.handlers.logging import SentryHandler
from pathlib import Path
__all__ = ("init_sentry_logging", "should_log")
include_paths = (
'core',
'cogs.alias',
'cogs.audio',
'cogs.downloader',
'cogs.economy',
'cogs.general',
'cogs.image',
'cogs.streams',
'cogs.trivia',
'cogs.utils',
'tests.core.test_sentry',
'main',
'launcher'
)
client = None
def init_sentry_logging(logger):
global client
client = Client(
dsn=("https://27f3915ba0144725a53ea5a99c9ae6f3:87913fb5d0894251821dcf06e5e9cfe6@"
"sentry.telemetry.red/19?verify_ssl=0"),
release=fetch_git_sha(str(Path.cwd()))
)
breadcrumbs.ignore_logger("websockets")
breadcrumbs.ignore_logger("websockets.protocol")
handler = SentryHandler(client)
logger.addHandler(handler)
def should_log(module_name: str) -> bool:
return any(module_name.startswith(path) for path in include_paths)