mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
This adds additional protections to make sure no sensitive information gets caught in our Sentry error logger.
46 lines
1.0 KiB
Python
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)
|