From 5e42608ead5021858aada91426300e908148139b Mon Sep 17 00:00:00 2001 From: jesopo Date: Sun, 5 Aug 2018 11:30:43 +0100 Subject: Improved logging, added TRACE logging in Database.py to see how it performs --- modules/logging.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 modules/logging.py (limited to 'modules/logging.py') diff --git a/modules/logging.py b/modules/logging.py new file mode 100644 index 00000000..7944ec41 --- /dev/null +++ b/modules/logging.py @@ -0,0 +1,38 @@ +import logging, sys + +class Module(object): + def __init__(self, bot): + self.logger = logging.getLogger(__name__) + self.logger.setLevel(logging.DEBUG) + + formatter = logging.Formatter( + "%(asctime)s - %(levelname)s - %(message)s", + "%Y-%m-%dT%H:%M:%S%z") + + stdout_handler = logging.StreamHandler(sys.stdout) + stdout_handler.setLevel(logging.INFO) + stdout_handler.setFormatter(formatter) + self.logger.addHandler(stdout_handler) + + file_handler = logging.FileHandler('bot.log') + file_handler.setLevel(logging.DEBUG) + file_handler.setFormatter(formatter) + self.logger.addHandler(file_handler) + + bot.events.on("log.debug").hook(self.debug) + bot.events.on("log.info").hook(self.info) + bot.events.on("log.warn").hook(self.warn) + bot.events.on("log.error").hook(self.error) + + def debug(self, event): + self._log(event, logging.DEBUG) + def info(self, event): + self._log(event, logging.INFO) + def warn(self, event): + self._log(event, logging.WARN) + def error(self, event): + self._log(event, logging.ERROR) + def _log(self, event, level): + message = event["message"] + params = event.get("params", []) + self.logger.log(level, message, *params) -- cgit v1.3.1-10-gc9f91