Make matrixfederationclient log more nicely

This commit is contained in:
Erik Johnston 2015-02-17 15:12:06 +00:00
parent 659ead082f
commit 4de93001bf

View File

@ -16,6 +16,7 @@
from twisted.internet import defer, reactor, protocol from twisted.internet import defer, reactor, protocol
from twisted.internet.error import DNSLookupError from twisted.internet.error import DNSLookupError
from twisted.python.failure import Failure
from twisted.web.client import readBody, _AgentBase, _URI from twisted.web.client import readBody, _AgentBase, _URI
from twisted.web.http_headers import Headers from twisted.web.http_headers import Headers
from twisted.web._newclient import ResponseDone from twisted.web._newclient import ResponseDone
@ -146,14 +147,22 @@ class MatrixFederationHttpClient(object):
) )
raise SynapseError(400, "Domain specified not found.") raise SynapseError(400, "Domain specified not found.")
if hasattr(e, "reasons"):
reasons = ", ".join(
f.value.message
for f in e.reasons
)
else:
reasons = e.message
logger.warn( logger.warn(
"Sending request failed to %s: %s %s : %s", "Sending request failed to %s: %s %s: %s - %s",
destination, destination,
method, method,
url_bytes, url_bytes,
e type(e). __name__,
reasons,
) )
_print_ex(e)
if retries_left: if retries_left:
yield sleep(2 ** (5 - retries_left)) yield sleep(2 ** (5 - retries_left))
@ -447,14 +456,6 @@ def _readBodyToFile(response, stream, max_size):
return d return d
def _print_ex(e):
if hasattr(e, "reasons") and e.reasons:
for ex in e.reasons:
_print_ex(ex)
else:
logger.warn(e)
class _JsonProducer(object): class _JsonProducer(object):
""" Used by the twisted http client to create the HTTP body from json """ Used by the twisted http client to create the HTTP body from json
""" """