File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616
1717import os
1818import sys
19+ import io
1920import json
2021import pytest
2122import logging
@@ -166,24 +167,28 @@ def test_configure_with_json_logging(self):
166167 def test_stdlib_logs_are_rendered_as_json (self , capsys ):
167168 """Stdlib loggers should share the same JSON formatter pipeline."""
168169 log .configure (enable_json_logging = True )
170+ stream = io .StringIO ()
171+ logging .getLogger ().handlers [0 ].setStream (stream )
169172
170173 logging .getLogger ("uvicorn.access" ).info ("Access log message" )
171174
172- record = json .loads (capsys . readouterr (). err .strip ())
175+ record = json .loads (stream . getvalue () .strip ())
173176 assert record ["message" ] == "Access log message"
174177 assert record ["logger" ] == "uvicorn.access"
175178 assert record ["level" ] == "info"
176179
177180 def test_exception_logs_use_json_stacktrace_field (self , capsys ):
178181 """Exception traces should be serialized into a structured stacktrace field."""
179182 log .configure (enable_json_logging = True )
183+ stream = io .StringIO ()
184+ logging .getLogger ().handlers [0 ].setStream (stream )
180185
181186 try :
182187 raise RuntimeError ("boom" )
183188 except RuntimeError :
184189 logging .getLogger ("uvicorn.error" ).exception ("Request crashed" )
185190
186- record = json .loads (capsys . readouterr (). err .strip ())
191+ record = json .loads (stream . getvalue () .strip ())
187192 assert record ["message" ] == "Request crashed"
188193 assert record ["logger" ] == "uvicorn.error"
189194 assert "stacktrace" in record
You can’t perform that action at this time.
0 commit comments