diff options
author | Erik Johnston <erik@matrix.org> | 2014-11-14 11:46:07 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2014-11-14 11:46:07 +0000 |
commit | b8eca1ffbf697b968acd0e3abc0341ca134dc6a0 (patch) | |
tree | 64b1eb1540f1eff147fb58ac9e85fc64920a49ad /synapse/http/server.py | |
parent | Use modelService to access room member power levels rather than RoomController. (diff) | |
parent | Merge branch 'develop' into request_logging (diff) | |
download | synapse-b8eca1ffbf697b968acd0e3abc0341ca134dc6a0.tar.xz |
Merge pull request #13 from matrix-org/request_logging
Request logging
Diffstat (limited to 'synapse/http/server.py')
-rw-r--r-- | synapse/http/server.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/synapse/http/server.py b/synapse/http/server.py index 8d419c02dd..ed1f1170cb 100644 --- a/synapse/http/server.py +++ b/synapse/http/server.py @@ -20,6 +20,7 @@ from syutil.jsonutil import ( from synapse.api.errors import ( cs_exception, SynapseError, CodeMessageException ) +from synapse.util.logcontext import LoggingContext from twisted.internet import defer, reactor from twisted.web import server, resource @@ -88,9 +89,19 @@ class JsonResource(HttpServer, resource.Resource): def render(self, request): """ This get's called by twisted every time someone sends us a request. """ - self._async_render(request) + self._async_render_with_logging_context(request) return server.NOT_DONE_YET + _request_id = 0 + + @defer.inlineCallbacks + def _async_render_with_logging_context(self, request): + request_id = "%s-%s" % (request.method, JsonResource._request_id) + JsonResource._request_id += 1 + with LoggingContext(request_id) as request_context: + request_context.request = request_id + yield self._async_render(request) + @defer.inlineCallbacks def _async_render(self, request): """ This get's called by twisted every time someone sends us a request. |