python3 http.server记录如何

时间:2020-07-31 15:43:13

标签: python-3.x http

我使用以下命令在当前目录中创建了一个简单的HTTP服务器文件

python3 -m http.server 8000

这非常适合在此目录中下载文件。日志输出定向到终端窗口-我假设是stdout或stderr

我想通过将日志写入指定文件来记录通过此服务器的活动。

我尝试过

python3 -m http.server 8000 > log.txt 2>&1

但这会产生一个空的log.txt

我在做什么错?有没有这样做的标准方法,还是必须对http.server类进行子类化?像这样吗?

2 个答案:

答案 0 :(得分:1)

看看docs,您可以使用:

python3 -u -m http.server 8000 2> log.txt

使用参数-u可以使 stdout stderr 不被缓冲,而是实时写入。

答案 1 :(得分:0)

似乎对我来说很好。您如何验证log.txt的内容?如果您在命令运行时尝试查看文件的内容,它将无法使用。在命令被KeyboardInterrupted后,运行

cat log.txt | more

应该没事的。