mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-08-03 14:04:11 -04:00
Record more information into structured logs. (#9654)
Records additional request information into the structured logs, e.g. the requester, IP address, etc.
This commit is contained in:
parent
0d87c6bd12
commit
48d44ab142
10 changed files with 255 additions and 88 deletions
|
@ -16,6 +16,7 @@ import time
|
|||
|
||||
from mock import Mock
|
||||
|
||||
import attr
|
||||
import canonicaljson
|
||||
import signedjson.key
|
||||
import signedjson.sign
|
||||
|
@ -68,6 +69,11 @@ class MockPerspectiveServer:
|
|||
signedjson.sign.sign_json(res, self.server_name, self.key)
|
||||
|
||||
|
||||
@attr.s(slots=True)
|
||||
class FakeRequest:
|
||||
id = attr.ib()
|
||||
|
||||
|
||||
@logcontext_clean
|
||||
class KeyringTestCase(unittest.HomeserverTestCase):
|
||||
def check_context(self, val, expected):
|
||||
|
@ -89,7 +95,7 @@ class KeyringTestCase(unittest.HomeserverTestCase):
|
|||
first_lookup_deferred = Deferred()
|
||||
|
||||
async def first_lookup_fetch(keys_to_fetch):
|
||||
self.assertEquals(current_context().request, "context_11")
|
||||
self.assertEquals(current_context().request.id, "context_11")
|
||||
self.assertEqual(keys_to_fetch, {"server10": {get_key_id(key1): 0}})
|
||||
|
||||
await make_deferred_yieldable(first_lookup_deferred)
|
||||
|
@ -102,9 +108,7 @@ class KeyringTestCase(unittest.HomeserverTestCase):
|
|||
mock_fetcher.get_keys.side_effect = first_lookup_fetch
|
||||
|
||||
async def first_lookup():
|
||||
with LoggingContext("context_11") as context_11:
|
||||
context_11.request = "context_11"
|
||||
|
||||
with LoggingContext("context_11", request=FakeRequest("context_11")):
|
||||
res_deferreds = kr.verify_json_objects_for_server(
|
||||
[("server10", json1, 0, "test10"), ("server11", {}, 0, "test11")]
|
||||
)
|
||||
|
@ -130,7 +134,7 @@ class KeyringTestCase(unittest.HomeserverTestCase):
|
|||
# should block rather than start a second call
|
||||
|
||||
async def second_lookup_fetch(keys_to_fetch):
|
||||
self.assertEquals(current_context().request, "context_12")
|
||||
self.assertEquals(current_context().request.id, "context_12")
|
||||
return {
|
||||
"server10": {
|
||||
get_key_id(key1): FetchKeyResult(get_verify_key(key1), 100)
|
||||
|
@ -142,9 +146,7 @@ class KeyringTestCase(unittest.HomeserverTestCase):
|
|||
second_lookup_state = [0]
|
||||
|
||||
async def second_lookup():
|
||||
with LoggingContext("context_12") as context_12:
|
||||
context_12.request = "context_12"
|
||||
|
||||
with LoggingContext("context_12", request=FakeRequest("context_12")):
|
||||
res_deferreds_2 = kr.verify_json_objects_for_server(
|
||||
[("server10", json1, 0, "test")]
|
||||
)
|
||||
|
@ -589,10 +591,7 @@ def get_key_id(key):
|
|||
|
||||
@defer.inlineCallbacks
|
||||
def run_in_context(f, *args, **kwargs):
|
||||
with LoggingContext("testctx") as ctx:
|
||||
# we set the "request" prop to make it easier to follow what's going on in the
|
||||
# logs.
|
||||
ctx.request = "testctx"
|
||||
with LoggingContext("testctx"):
|
||||
rv = yield f(*args, **kwargs)
|
||||
return rv
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue