Procházet zdrojové kódy

fix(logging): 关闭 traceback 变量值标注避免泄露密码

- 在启动脚本和独立运行模块中,logger.add() 添加了 diagnose=False 配置
- 保留完整调用栈 backtrace=True,方便定位错误
- 避免因数据库连接失败时,将密码写入日志并上传到中心平台
- 日志格式、编码、轮转和保留时长保持不变
- 涉及脚本包括 start_cxx_spider.py、super_vault_his_report.py、super_vault_nova_daily_report.py 和 super_vault_order_spider.py
charley před 13 hodinami
rodič
revize
c40dbc954f

+ 3 - 1
cxx_spider/start_cxx_spider.py

@@ -44,9 +44,11 @@ LOG_DIR = os.environ.get("CXX_LOG_DIR") or os.path.join(BASE_DIR, "logs")
 os.makedirs(LOG_DIR, exist_ok=True)   # 提前建目录:目录不存在或无权限时在此直接报错,而非等到首条日志才暴露
 
 logger.remove()
+# backtrace=True 保留完整调用栈便于定位;diagnose=False 关掉 loguru 对 traceback 的变量值标注——
+# 它会把各帧局部变量的值逐行打印出来,连库失败时会把数据库密码写进日志并被日志采集送往中心平台。
 logger.add(os.path.join(LOG_DIR, "{time:YYYYMMDD}.log"), encoding='utf-8', rotation="00:00",
            format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}",
-           level="DEBUG", retention="7 day")
+           level="DEBUG", retention="7 day", backtrace=True, diagnose=False)
 
 from super_vault_daily_spider import cxx_daily_main
 from super_vault_on_sale_spider import cxx_sale_main

+ 2 - 1
cxx_spider/stats/super_vault_his_report.py

@@ -574,7 +574,8 @@ def schedule_task():
 if __name__ == "__main__":
     # 独立运行才配置日志 sink:按天切分、保留 7 天,与入口脚本同格式同去向(根目录 logs/)
     logger.remove()
+    # diagnose=False:关掉 traceback 的变量值标注,避免连库失败时把数据库密码写进日志
     logger.add(LOG_PATH, encoding="utf-8", rotation="00:00",
                format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}",
-               level="DEBUG", retention="7 day")
+               level="DEBUG", retention="7 day", backtrace=True, diagnose=False)
     main()

+ 2 - 1
cxx_spider/stats/super_vault_nova_daily_report.py

@@ -503,8 +503,9 @@ def schedule_task():
 if __name__ == "__main__":
     # 独立运行才配置日志 sink:按天切分、保留 7 天,与入口脚本同格式同去向(根目录 logs/)
     logger.remove()
+    # diagnose=False:关掉 traceback 的变量值标注,避免连库失败时把数据库密码写进日志
     logger.add(LOG_PATH, encoding="utf-8", rotation="00:00",
                format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}",
-               level="DEBUG", retention="7 day")
+               level="DEBUG", retention="7 day", backtrace=True, diagnose=False)
     # main()
     schedule_task()

+ 2 - 1
cxx_spider/super_vault_order_spider.py

@@ -362,9 +362,10 @@ def schedule_task():
 if __name__ == "__main__":
     # 独立运行才配置日志 sink:按天切分、保留 7 天,与入口脚本同格式同去向(根目录 logs/)
     logger.remove()
+    # diagnose=False:关掉 traceback 的变量值标注,避免连库失败时把数据库密码写进日志
     logger.add(LOG_PATH, encoding='utf-8', rotation="00:00",
                format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}",
-               level="DEBUG", retention="7 day")
+               level="DEBUG", retention="7 day", backtrace=True, diagnose=False)
     # 全量回填(数小时,断点续跑):直接 cxx_order_main(logger)
     # 小样本验证:cxx_order_main(logger, limit=5)
     # cxx_order_main(logger)