diff --git a/.env.example b/.env.example index 985207c..0554489 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,8 @@ # dev or prod ENVIRONMENT=dev +LOG_LEVEL=DEBUG +DISCORD_LOG_LEVEL=WARNING + BOT_TOKEN=your_token_here BOT_TEST_GUILD_IDS="123456, 456789" diff --git a/jukebot/__main__.py b/jukebot/__main__.py index ef655ba..cb41a71 100644 --- a/jukebot/__main__.py +++ b/jukebot/__main__.py @@ -29,9 +29,9 @@ def get_test_guilds_ids() -> Optional[List[int]]: def main(): load_dotenv(".env") logging.set_logging( - plogging.DEBUG, + plogging.getLevelName(os.environ["LOG_LEVEL"]), intercept_disnake_log=True, - disnake_loglevel=plogging.WARNING, + disnake_loglevel=plogging.getLevelName(os.environ["DISCORD_LOG_LEVEL"]), ) bot = JukeBot( diff --git a/jukebot/utils/logging.py b/jukebot/utils/logging.py index 382f6dd..b8db8d0 100644 --- a/jukebot/utils/logging.py +++ b/jukebot/utils/logging.py @@ -2,6 +2,7 @@ import datetime import logging +import logging as plogging import os from contextlib import contextmanager @@ -19,20 +20,23 @@ def set_logging( disnake_loglevel: int = logging.INFO, ): logger.info(f"Environment is set to '{os.environ['ENVIRONMENT']}'.") - logger.info(f"Jukebot log messages with level {jukebot_loglevel}.") + logger.info(f"Jukebot log messages with level {plogging.getLevelName(jukebot_loglevel)}.") if intercept_disnake_log: - logger.info(f"Intercepting disnake log messages with level {disnake_loglevel}.") + logger.info( + f"Intercepting disnake log messages with level {plogging.getLevelName(disnake_loglevel)}." + ) logging.basicConfig(handlers=[InterceptHandler()], level=disnake_loglevel) - if os.environ["ENVIRONMENT"] == Environment.DEVELOPMENT: - pass - elif os.environ["ENVIRONMENT"] == Environment.PRODUCTION: + if not os.environ["ENVIRONMENT"] in list(Environment): + logger.critical(f"Unknown environment {os.environ['ENVIRONMENT']}.") + exit(1) + + if os.environ["ENVIRONMENT"] == Environment.PRODUCTION: logger.remove() - path: str = os.environ["LOGS_PATH"] if "LOGS_PATH" in os.environ else "./logs" - fmt = "{time:YYYY-MM-DD at HH:mm:ss} || {level} || {name} || {message}" + fmt = "{time:YYYY-MM-DD at HH:mm:ss} || {level} || {name} || {message}" logger.add( - f"{path}/log-{datetime.datetime.now():%Y-%m-%d}.log", + f"./logs/log-{datetime.datetime.now():%Y-%m-%d}.log", level=jukebot_loglevel, format=fmt, rotation="01:00", @@ -41,9 +45,6 @@ def set_logging( mode="w", encoding="utf-8", ) - else: - logger.error(f"Unknown environment {os.environ['ENVIRONMENT']}.") - exit(1) @contextmanager