今天再docker内启动程序的时候,打算将屏幕输出等重定向到日志文件中,但是启动程序后,通过tail -f命令查看日志文件,发现日志文件没有及时更新。试了几次都一样,但是之前使用这个命令的时候,都是可以看到日志文件动态变化更新的。
后来查了一下,是Python的输出缓冲导致更新不及时。
-u 参数,使得python不启用缓冲。
nohup python -u xxx.py > xxx.log 2>&1 &
这样就可以看到日志文件及时更新了。
本文探讨了在Docker容器中,Python程序的日志输出由于缓冲问题导致更新不及时的问题。通过介绍使用`-u`参数和nohup命令,解决了日志实时更新问题,帮助开发者优化Python应用的日志记录过程。
今天再docker内启动程序的时候,打算将屏幕输出等重定向到日志文件中,但是启动程序后,通过tail -f命令查看日志文件,发现日志文件没有及时更新。试了几次都一样,但是之前使用这个命令的时候,都是可以看到日志文件动态变化更新的。
后来查了一下,是Python的输出缓冲导致更新不及时。
-u 参数,使得python不启用缓冲。
nohup python -u xxx.py > xxx.log 2>&1 &
这样就可以看到日志文件及时更新了。
1万+
1084

被折叠的 条评论
为什么被折叠?