Forráskód Böngészése

fix: 将 TrackingFilter 从 logger 移到 handler 上,修复子 logger 日志 tracking_id 缺失的问题

Python logging 中 Filter 加在 logger 上不会对子 logger 传播的日志生效,
需要加到 Handler 上才能确保所有日志记录都注入 tracking_id 属性。

Made-with: Cursor
ChenYu 7 hónapja
szülő
commit
760635748d
1 módosított fájl, 3 hozzáadás és 1 törlés
  1. 3 1
      app/main.py

+ 3 - 1
app/main.py

@@ -31,7 +31,9 @@ def setup_logging() -> None:
         datefmt=_LOG_DATEFMT,
         force=True,
     )
-    logging.getLogger().addFilter(TrackingFilter())
+    tracking_filter = TrackingFilter()
+    for handler in logging.getLogger().handlers:
+        handler.addFilter(tracking_filter)
 
 
 @asynccontextmanager