aboutsummaryrefslogtreecommitdiffstats
path: root/bot
diff options
context:
space:
mode:
authorGravatar Matteo Bertucci <[email protected]>2021-11-12 07:48:51 +0100
committerGravatar GitHub <[email protected]>2021-11-12 07:48:51 +0100
commitec5eaadaae3e92f742f49085f782be40195a891c (patch)
treed7406eed339a63be27024c410b16d54987056007 /bot
parentMerge pull request #858 from Numerlor/coloredlogs (diff)
parentMove Sentry Into Init (diff)
Merge pull request #943 from python-discord/file-log-debug
Fix Startup Crash Loop
Diffstat (limited to 'bot')
-rw-r--r--bot/__init__.py18
-rw-r--r--bot/__main__.py20
-rw-r--r--bot/constants.py3
-rw-r--r--bot/log.py23
4 files changed, 32 insertions, 32 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.",
diff --git a/bot/log.py b/bot/log.py
index 5e0e909d..97561be4 100644
--- a/bot/log.py
+++ b/bot/log.py
@@ -18,19 +18,22 @@ def setup() -> None:
format_string = "%(asctime)s | %(name)s | %(levelname)s | %(message)s"
log_format = logging.Formatter(format_string)
+ root_logger = logging.getLogger()
- # Set up file logging
- log_file = Path("logs/sir-lancebot.log")
- log_file.parent.mkdir(exist_ok=True)
+ # Copied from constants file, which we can't import yet since loggers aren't instantiated
+ debug = os.environ.get("BOT_DEBUG", "true").lower() == "true"
- # File handler rotates logs every 5 MB
- file_handler = logging.handlers.RotatingFileHandler(
- log_file, maxBytes=5 * (2 ** 20), backupCount=10, encoding="utf-8",
- )
- file_handler.setFormatter(log_format)
+ if debug:
+ # Set up file logging
+ log_file = Path("logs/sir-lancebot.log")
+ log_file.parent.mkdir(exist_ok=True)
- root_logger = logging.getLogger()
- root_logger.addHandler(file_handler)
+ # File handler rotates logs every 5 MB
+ file_handler = logging.handlers.RotatingFileHandler(
+ log_file, maxBytes=5 * (2 ** 20), backupCount=10, encoding="utf-8",
+ )
+ file_handler.setFormatter(log_format)
+ root_logger.addHandler(file_handler)
if "COLOREDLOGS_LEVEL_STYLES" not in os.environ:
coloredlogs.DEFAULT_LEVEL_STYLES = {