Python
多 worker 场景下,Python 日志按天落盘为什么会“串日期”
在一个多 worker 的 Python 服务里,日志按天落盘本来是件很普通的事,但真正跑进 Docker 和多进程环境之后,事情往往没有想象中那么简单。我们这次遇到的,就是一个非常典型、也非常容易被忽视的问题:日志文件日期彻底混乱了。 最离谱的时候,目录里会看到一个名字像这样的文件: app.log.2026-04-18 但打开之后,里面却混进了 2026-04-23 的日志。 这种现象第一眼看上去很玄学,实际上原因并不玄学。核心就是一句话: 多 worker 进程同时写同一个轮转日志文件,天然就容易出事。 这篇文章把这个问题的成因、误区,以及我们当前先落地的临时方案整理一下。也提前说明:这不是最终版日志架构,只是先把现在线上最痛的跨天串文件问题止住。 背景 项目运行在 Docker 里,服务启动方式是: uvicorn src.main:app --host 0.0.0.0
陕公网安备61011302002223号