Skip to content

Commit

Permalink
feat: update log system to fit the new docker
Browse files Browse the repository at this point in the history
  • Loading branch information
Dysta committed Jul 14, 2023
1 parent 6c8f1ea commit ddcbab7
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 13 deletions.
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
4 changes: 2 additions & 2 deletions jukebot/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
23 changes: 12 additions & 11 deletions jukebot/utils/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import datetime
import logging
import logging as plogging
import os
from contextlib import contextmanager

Expand All @@ -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",
Expand All @@ -41,9 +45,6 @@ def set_logging(
mode="w",
encoding="utf-8",
)
else:
logger.error(f"Unknown environment {os.environ['ENVIRONMENT']}.")
exit(1)


@contextmanager
Expand Down

0 comments on commit ddcbab7

Please sign in to comment.