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.
This commit is contained in:
@ -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):
|
||||
|
Reference in New Issue
Block a user