diff options
| -rw-r--r-- | bot/__init__.py | 18 | ||||
| -rw-r--r-- | bot/__main__.py | 20 | ||||
| -rw-r--r-- | bot/constants.py | 3 | ||||
| -rw-r--r-- | bot/log.py | 23 | 
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.", @@ -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 = { | 
