diff options
Diffstat (limited to 'bot/__init__.py')
-rw-r--r-- | bot/__init__.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/bot/__init__.py b/bot/__init__.py new file mode 100644 index 00000000..6b3a2a6f --- /dev/null +++ b/bot/__init__.py @@ -0,0 +1,41 @@ +import logging.handlers +import os +from pathlib import Path + +import arrow + +# start datetime +start_time = arrow.utcnow() + +# set up logging +log_dir = Path("bot", "log") +log_file = log_dir / "hackbot.log" +os.makedirs(log_dir, exist_ok=True) + +# file handler sets up rotating logs every 5 MB +file_handler = logging.handlers.RotatingFileHandler( + log_file, maxBytes=5*(2**20), backupCount=10) +file_handler.setLevel(logging.DEBUG) + +# console handler prints to terminal +console_handler = logging.StreamHandler() +console_handler.setLevel(logging.INFO) + +# remove old loggers if any +root = logging.getLogger() +if root.handlers: + for handler in root.handlers: + root.removeHandler(handler) + +# Silence irrelevant loggers +logging.getLogger("discord").setLevel(logging.ERROR) +logging.getLogger("websockets").setLevel(logging.ERROR) + +# setup new logging configuration +logging.basicConfig( + format='%(asctime)s - %(name)s %(levelname)s: %(message)s', + datefmt="%D %H:%M:%S", + level=logging.DEBUG, + handlers=[console_handler, file_handler] +) +logging.getLogger().info('Logging initialization complete') |