diff options
| author | 2018-08-05 11:30:43 +0100 | |
|---|---|---|
| committer | 2018-08-05 11:30:43 +0100 | |
| commit | 5e42608ead5021858aada91426300e908148139b (patch) | |
| tree | c4625d5578ffa6956b1894b1f37ad40a6c41f165 /modules/logging.py | |
| parent | Remove debug print, improve wikipedia.py (diff) | |
Improved logging, added TRACE logging in Database.py to see how it performs
Diffstat (limited to 'modules/logging.py')
| -rw-r--r-- | modules/logging.py | 38 |
1 files changed, 38 insertions, 0 deletions
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) |
