我正在从这个 link 运行 flask 应用程序使用命令 python app.py
。
使用 sys.stdout.write
打印的更多日志未打印在控制台上。但是,使用 logging.StreamHandler
可以将消息重定向到标准输出。
有效,
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")
没用
import sys
sys.stdout.write("hey, i am from stdout")
flask 是否覆盖 sys.stdout 文件描述符,将日志重定向到其他地方?
最佳答案
afaik flasks app.run()
使用 gunicorn
网络包
我相信 gunicorn 是真正重定向你的输出的那个
输出可能在 /var/log/gunicorn/error.log
中(不确定它在 Windows 上的位置:/)
或者它可能的 sys.stdout
只是没有刷新它的缓冲区,
写入后尝试 sys.stdout.flush()
关于python - Flask 不打印 sys.stdout.write 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31326236/