Skip to content

Commit 040892d

Browse files
committed
s/logger/query_logger/, report BaseException too
1 parent 3d2924a commit 040892d

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

asyncpg/connection.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1803,7 +1803,7 @@ async def _execute(
18031803
return result
18041804

18051805
@contextlib.contextmanager
1806-
def logger(self, callback):
1806+
def query_logger(self, callback):
18071807
"""Context manager that adds `callback` to the list of query loggers,
18081808
and removes it upon exit.
18091809
@@ -1822,15 +1822,15 @@ def __init__(self):
18221822
self.queries = []
18231823
def __call__(self, record):
18241824
self.queries.append(record.query)
1825-
>>> with con.logger(QuerySaver()) as log:
1825+
>>> with con.query_logger(QuerySaver()):
18261826
>>> await con.execute("SELECT 1")
18271827
>>> print(log.queries)
18281828
['SELECT 1']
18291829
18301830
.. versionadded:: 0.29.0
18311831
"""
18321832
self.add_query_logger(callback)
1833-
yield callback
1833+
yield
18341834
self.remove_query_logger(callback)
18351835

18361836
@contextlib.contextmanager
@@ -1839,7 +1839,7 @@ def _time_and_log(self, query, args, timeout):
18391839
exception = None
18401840
try:
18411841
yield
1842-
except Exception as ex:
1842+
except BaseException as ex:
18431843
exception = ex
18441844
raise
18451845
finally:

tests/test_logging.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ async def test_logging_context(self):
2020
def query_saver(record):
2121
queries.put_nowait(record)
2222

23-
with self.con.logger(query_saver):
23+
log = LogCollector()
24+
25+
with self.con.query_logger(query_saver):
2426
self.assertEqual(len(self.con._query_loggers), 1)
2527
await self.con.execute("SELECT 1")
26-
with self.con.logger(LogCollector()) as log:
28+
with self.con.query_logger(log):
2729
self.assertEqual(len(self.con._query_loggers), 2)
2830
await self.con.execute("SELECT 2")
2931

@@ -36,7 +38,8 @@ def query_saver(record):
3638
self.assertEqual(len(self.con._query_loggers), 0)
3739

3840
async def test_error_logging(self):
39-
with self.con.logger(LogCollector()) as log:
41+
log = LogCollector()
42+
with self.con.query_logger(log):
4043
with self.assertRaises(exceptions.UndefinedColumnError):
4144
await self.con.execute("SELECT x")
4245

0 commit comments

Comments
 (0)