aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2021-11-12 06:19:59 +0400
committerGravatar Hassan Abouelela <[email protected]>2021-11-12 06:19:59 +0400
commit40b58132d488bab962d8aeecfc932a1cb5842a85 (patch)
treed7406eed339a63be27024c410b16d54987056007
parentDisable File Logs In Production (diff)
Move Sentry Into Init
Moves the sentry setup to be one of the very first things run during startup, so we are able to catch more errors, such as ones that might occur while setting up logs. Signed-off-by: Hassan Abouelela <[email protected]>
-rw-r--r--bot/__init__.py18
-rw-r--r--bot/__main__.py20
-rw-r--r--bot/constants.py3
3 files changed, 19 insertions, 22 deletions
diff --git a/bot/__init__.py b/bot/__init__.py
index b19bd76a..ae53a5a5 100644
--- a/bot/__init__.py
+++ b/bot/__init__.py
@@ -6,14 +6,32 @@ except ModuleNotFoundError:
pass
import asyncio
+import logging
import os
from functools import partial, partialmethod
import arrow
+import sentry_sdk
from discord.ext import commands
+from sentry_sdk.integrations.logging import LoggingIntegration
+from sentry_sdk.integrations.redis import RedisIntegration
from bot import log, monkey_patches
+sentry_logging = LoggingIntegration(
+ level=logging.DEBUG,
+ event_level=logging.WARNING
+)
+
+sentry_sdk.init(
+ dsn=os.environ.get("BOT_SENTRY_DSN"),
+ integrations=[
+ sentry_logging,
+ RedisIntegration()
+ ],
+ release=f"sir-lancebot@{os.environ.get('GIT_SHA', 'foobar')}"
+)
+
log.setup()
# Set timestamp of when execution started (approximately)
diff --git a/bot/__main__.py b/bot/__main__.py
index c6e5fa57..6889fe2b 100644
--- a/bot/__main__.py
+++ b/bot/__main__.py
@@ -1,28 +1,10 @@
import logging
-import sentry_sdk
-from sentry_sdk.integrations.logging import LoggingIntegration
-from sentry_sdk.integrations.redis import RedisIntegration
-
from bot.bot import bot
-from bot.constants import Client, GIT_SHA, STAFF_ROLES, WHITELISTED_CHANNELS
+from bot.constants import Client, STAFF_ROLES, WHITELISTED_CHANNELS
from bot.utils.decorators import whitelist_check
from bot.utils.extensions import walk_extensions
-sentry_logging = LoggingIntegration(
- level=logging.DEBUG,
- event_level=logging.WARNING
-)
-
-sentry_sdk.init(
- dsn=Client.sentry_dsn,
- integrations=[
- sentry_logging,
- RedisIntegration()
- ],
- release=f"sir-lancebot@{GIT_SHA}"
-)
-
log = logging.getLogger(__name__)
bot.add_check(whitelist_check(channels=WHITELISTED_CHANNELS, roles=STAFF_ROLES))
diff --git a/bot/constants.py b/bot/constants.py
index 9d12000e..2b41b8a4 100644
--- a/bot/constants.py
+++ b/bot/constants.py
@@ -134,7 +134,6 @@ class Client(NamedTuple):
guild = int(environ.get("BOT_GUILD", 267624335836053506))
prefix = environ.get("PREFIX", ".")
token = environ.get("BOT_TOKEN")
- sentry_dsn = environ.get("BOT_SENTRY_DSN")
debug = environ.get("BOT_DEBUG", "true").lower() == "true"
github_bot_repo = "https://github.com/python-discord/sir-lancebot"
# Override seasonal locks: 1 (January) to 12 (December)
@@ -348,8 +347,6 @@ WHITELISTED_CHANNELS = (
Channels.voice_chat_1,
)
-GIT_SHA = environ.get("GIT_SHA", "foobar")
-
# Bot replies
ERROR_REPLIES = [
"Please don't do that.",