Flask不打印sys.stdout.write消息

4 python logging flask

我正在使用该命令从此链接运行烧瓶应用程序python app.py.

使用的更多日志sys.stdout.write不会打印在控制台上.但是,使用logging.StreamHandler将消息重定向到stdout的工作.

有用,

import logging
import logging.handlers
logger = logging.getLogger('kumologging')
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
logger.addHandler(ch)
logger.info("hey, i am from logger obj")
Run Code Online (Sandbox Code Playgroud)

它不起作用

import sys
sys.stdout.write("hey, i am from stdout")
Run Code Online (Sandbox Code Playgroud)

flask会覆盖sys.stdout文件描述符,将日志重定向到其他地方吗?

Jor*_*ley 7

afaik flask app.run()使用gunicorn网络包

我相信gunicorn实际上是重定向输出的那个

输出可能在/var/log/gunicorn/error.log(不确定它在Windows上的位置:/)

或者它可能sys.stdout只是没有刷新缓冲区,sys.stdout.flush()在写入之后尝试