Log more when we have processed the request

This commit is contained in:
Erik Johnston 2015-06-15 17:11:44 +01:00
parent b5209c5744
commit cee69441d3
4 changed files with 23 additions and 4 deletions

View File

@ -370,6 +370,8 @@ class Auth(object):
user_agent=user_agent
)
request.authenticated_entity = user.to_string()
defer.returnValue((user, ClientInfo(device_id, token_id)))
except KeyError:
raise AuthError(

View File

@ -143,6 +143,7 @@ class SynapseHomeServer(HomeServer):
port = listener_config["port"]
bind_address = listener_config.get("bind_address", "")
tls = listener_config.get("tls", False)
site_tag = listener_config.get("tag", port)
if tls and config.no_tls:
return
@ -199,6 +200,7 @@ class SynapseHomeServer(HomeServer):
port,
SynapseSite(
"synapse.access.https",
site_tag,
listener_config,
root_resource,
),
@ -210,6 +212,7 @@ class SynapseHomeServer(HomeServer):
port,
SynapseSite(
"synapse.access.https",
site_tag,
listener_config,
root_resource,
),
@ -458,6 +461,9 @@ class SynapseRequest(Request):
self.uri
)
def get_user_agent(self):
return self.requestHeaders.getRawHeaders("User-Agent", [None])[-1]
class XForwardedForRequest(SynapseRequest):
def __init__(self, *args, **kw):
@ -494,11 +500,11 @@ class SynapseSite(Site):
Subclass of a twisted http Site that does access logging with python's
standard logging
"""
def __init__(self, logger_name, config, resource, *args, **kwargs):
def __init__(self, logger_name, tag, config, resource, *args, **kwargs):
Site.__init__(self, resource, *args, **kwargs)
proxied = config.get("x_forwarded", False)
self.requestFactory = SynapseRequestFactory(None, proxied)
self.requestFactory = SynapseRequestFactory(tag, proxied)
if proxied:
self._log_formatter = proxiedLogFormatter

View File

@ -94,6 +94,7 @@ class TransportLayerServer(object):
yield self.keyring.verify_json_for_server(origin, json_request)
logger.info("Request from %s", origin)
request.authenticated_entity = origin
defer.returnValue((origin, content))

View File

@ -125,8 +125,18 @@ def request_handler(request_handler):
code = str(code) if code else "-"
end = self.clock.time_msec()
logger.info(
"Processed request: %dms %s %s %s",
end-start, code, request.method, request.path
"%s - %s - {%s}"
" Processed request: %dms %sB %s \"%s %s %s\" \"%s\"",
request.getClientIP(),
request.site_tag,
request.authenticated_entity,
end-start,
request.sentLength,
code,
request.method,
request.get_redacted_uri(),
request.clientproto,
request.get_user_agent(),
)
return wrapped_request_handler