aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2018-08-05 11:30:43 +0100
committerGravatar jesopo2018-08-05 11:30:43 +0100
commit5e42608ead5021858aada91426300e908148139b (patch)
treec4625d5578ffa6956b1894b1f37ad40a6c41f165 /modules
parentRemove 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.py38
-rw-r--r--modules/logs.py19
-rw-r--r--modules/print_activity.py4
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: