@@ -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
@@ -83,9 +83,15 @@ async def dispatch(self, request: Request, call_next: Any) -> Response:
8383 username = None
8484
8585 # 日志记录
86+ if request .method != 'OPTIONS' :
87+ log .debug ('<-- 请求结束' )
8688 log .debug (f'接口摘要:[{ summary } ]' )
8789 log .debug (f'请求地址:[{ ctx .ip } ]' )
8890 log .debug (f'请求参数:{ args } ' )
91+ log .info (
92+ f'{ request .client .host : <15} | { request .method : <8} | { response .status_code : <6} | '
93+ f'{ path } | { elapsed :.3f} ms' ,
94+ )
8995
9096 # 日志创建
9197 opera_log_in = CreateOperaLogParam (
0 commit comments