diff options
| author | 2018-08-05 11:30:43 +0100 | |
|---|---|---|
| committer | 2018-08-05 11:30:43 +0100 | |
| commit | 5e42608ead5021858aada91426300e908148139b (patch) | |
| tree | c4625d5578ffa6956b1894b1f37ad40a6c41f165 /modules | |
| 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')
| -rw-r--r-- | modules/logging.py | 38 | ||||
| -rw-r--r-- | modules/logs.py | 19 | ||||
| -rw-r--r-- | modules/print_activity.py | 4 |
3 files changed, 41 insertions, 20 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) diff --git a/modules/logs.py b/modules/logs.py deleted file mode 100644 index 0c3ce004..00000000 --- a/modules/logs.py +++ /dev/null @@ -1,19 +0,0 @@ -import datetime - -class Module(object): - def __init__(self, bot): - bot.events.on("log").on("info", "warn", "error").hook(self.log) - - def timestamp(self): - return datetime.datetime.utcnow().isoformat()+"Z" - - def log(self, event): - log_level = event.name - timestamp = self.timestamp() - message = event["message"] - data = event.get("data") - with open("bot.log", "a") as log_file: - log_file.write("%s [%s] %s\n" % (timestamp, log_level, - message)) - if data: - log_file.write("%s\n" % data) diff --git a/modules/print_activity.py b/modules/print_activity.py index a8c710e9..8344255e 100644 --- a/modules/print_activity.py +++ b/modules/print_activity.py @@ -36,7 +36,9 @@ class Module(object): target = str(event["server"]) if not channel == None: target += channel - print("[%s] %s | %s" % (timestamp, target, line)) + self.bot.events.on("log.info").call( + message="%s | %s", + params=[target, line]) def _on_message(self, event, nickname): if not self.bot.args.verbose: |
