Skip to content

Commit cdbe37d

Browse files
authored
Update the interface timing accuracy in log (#897)
* Update the interface timing accuracy in log * Update log request finish
1 parent f46974d commit cdbe37d

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

backend/middleware/access_middleware.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,4 @@ async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -
3232

3333
response = await call_next(request)
3434

35-
if request.method != 'OPTIONS':
36-
log.debug('<-- 请求结束')
37-
38-
log.info(
39-
f'{request.client.host: <15} | {request.method: <8} | {response.status_code: <6} | '
40-
f'{path} | {(time.perf_counter() - perf_time) * 1000:.3f}ms',
41-
)
42-
4335
return response

backend/middleware/opera_log_middleware.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ async def dispatch(self, request: Request, call_next: Any) -> Response:
5151
error = None
5252
try:
5353
response = await call_next(request)
54-
elapsed = (time.perf_counter() - ctx.perf_time) * 1000
54+
elapsed = round((time.perf_counter() - ctx.perf_time) * 1000, 3)
5555
for e in [
5656
'__request_http_exception__',
5757
'__request_validation_exception__',
@@ -65,7 +65,7 @@ async def dispatch(self, request: Request, call_next: Any) -> Response:
6565
log.error(f'请求异常: {msg}')
6666
break
6767
except Exception as e:
68-
elapsed = (time.perf_counter() - ctx.perf_time) * 1000
68+
elapsed = round((time.perf_counter() - ctx.perf_time) * 1000, 3)
6969
code = getattr(e, 'code', StandardResponseCode.HTTP_500) # 兼容 SQLAlchemy 异常用法
7070
msg = getattr(e, 'msg', str(e)) # 不建议使用 traceback 模块获取错误信息,会暴漏代码信息
7171
status = StatusType.disable
@@ -86,6 +86,12 @@ async def dispatch(self, request: Request, call_next: Any) -> Response:
8686
log.debug(f'接口摘要:[{summary}]')
8787
log.debug(f'请求地址:[{ctx.ip}]')
8888
log.debug(f'请求参数:{args}')
89+
log.info(
90+
f'{request.client.host: <15} | {request.method: <8} | {response.status_code: <6} | '
91+
f'{path} | {elapsed:.3f}ms',
92+
)
93+
if request.method != 'OPTIONS':
94+
log.debug('<-- 请求结束')
8995

9096
# 日志创建
9197
opera_log_in = CreateOperaLogParam(

0 commit comments

Comments
 (0)