在流程结束前将日志重定向到文件

时间:2016-06-15 05:30:14

标签: python

test.py(work):

import time

_, a, b = [1, 2, 3]
print a
print b

运行代码:python test.py> test.log中

您将获得test.log

中的日志

test.py(不工作):

import time

_, a, b = [1, 2, 3]
print a
print b

while True:
    time.sleep(5)

但是这个你在日志中得到无。

如何在程序结束前获取日志,没有python日志模块(只需使用重定向'>')?

1 个答案:

答案 0 :(得分:3)

Python默认情况下缓存stdout,因此日志会以块的形式写入磁盘。你可以通过几种不同的方式关闭缓冲,这里有两种。调用脚本时可以使用-u选项,即:

python -u test.py

您可以使用enviornment varialbe PYTHONUNBUFFERED

export PYTHONUNBUFFERED=true
python test.py