aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2018-08-30 14:32:59 +0100
committerGravatar jesopo2018-08-30 14:32:59 +0100
commitc10a35b6c08d390ca413cf59aae77c0b1196c555 (patch)
tree01c0bfcb82e5a7250f7989385ccb92c3688e3013
parentLoad whitelist in start.py, pass to ModuleManager.load_modules (diff)
signature
Log exceptions when calling events
-rw-r--r--EventManager.py6
-rw-r--r--IRCLogging.py24
2 files changed, 14 insertions, 16 deletions
diff --git a/EventManager.py b/EventManager.py
index abb0a454..66006934 100644
--- a/EventManager.py
+++ b/EventManager.py
@@ -137,10 +137,8 @@ class EventHook(object):
returns.append(hook.call(event))
except Exception as e:
traceback.print_exc()
- # TODO don't make this an event call. can lead to error cycles!
- #self.bot.events.on("log").on("error").call(
- # message="Failed to call event callback",
- # data=traceback.format_exc())
+ self.bot.log.error("failed to call event \"%s", [
+ event_path], exc_info=True)
called += 1
end = time.monotonic()
diff --git a/IRCLogging.py b/IRCLogging.py
index 7b01acee..c2fbde1c 100644
--- a/IRCLogging.py
+++ b/IRCLogging.py
@@ -33,15 +33,15 @@ class Log(object):
file_handler.setFormatter(formatter)
self.logger.addHandler(file_handler)
- def debug(self, message, params):
- self._log(message, params, logging.DEBUG)
- def info(self, message, params):
- self._log(message, params, logging.INFO)
- def warn(self, message, params):
- self._log(message, params, logging.WARN)
- def error(self, message, params):
- self._log(message, params, logging.ERROR)
- def critical(self, message, params):
- self._log(message, params, logging.CRITICAL)
- def _log(self, message, params, level):
- self.logger.log(level, message, *params)
+ def debug(self, message, params, **kwargs):
+ self._log(message, params, logging.DEBUG, kwargs)
+ def info(self, message, params, **kwargs):
+ self._log(message, params, logging.INFO, kwargs)
+ def warn(self, message, params, **kwargs):
+ self._log(message, params, logging.WARN, kwargs)
+ def error(self, message, params, **kwargs):
+ self._log(message, params, logging.ERROR, kwargs)
+ def critical(self, message, params, **kwargs):
+ self._log(message, params, logging.CRITICAL, kwargs)
+ def _log(self, message, params, level, kwargs):
+ self.logger.log(level, message, *params, **kwargs)