From 9ab1d041d46210644b1258c23f67b1ed60546832 Mon Sep 17 00:00:00 2001 From: Hornwitser Date: Tue, 20 Oct 2015 18:11:52 +0200 Subject: Log to root logger by default in on_error Change the default implementation of on_error to log to the root logger instead of discord.client and clarify that the exception is being ignored. This ensures that a message will be output to standard error in case the logging module has not been configured. Also removes the argument printing for the default on_error, this is due to them often being too long, that they could cause another exception to be thrown, and because it sometimes causes sensitive information to be output such as Discord tokens and session ids. It was also possible for the length to get in the megabyte range with exceptions thrown by on_socket_raw_receive in READY events. --- discord/client.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'discord/client.py') diff --git a/discord/client.py b/discord/client.py index 7817c0c1..644a96ab 100644 --- a/discord/client.py +++ b/discord/client.py @@ -478,8 +478,7 @@ class Client(object): raise InvalidDestination('Destination must be Channel, PrivateChannel, User, or str') def on_error(self, event_method, *args, **kwargs): - msg = 'Caught exception in {} with args (*{}, **{})' - log.exception(msg.format(event_method, args, kwargs)) + logging.exception('Ignoring exception in {}'.format(event_method)) # Compatibility shim def __getattr__(self, name): -- cgit v1.2.3